<!DOCTYPE html><html lang="en"><head>
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  <meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport">
  <meta content="CR" name="w3c-status">
  <title>HTML 5.1: 4.8. Links</title>
  <link href="styles/styles-html.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href=styles.default.css>
  <meta content="Bikeshed 1.0.0" name="generator">

  <link href="styles/W3C-CR" rel="stylesheet" type="text/css">
 </head>
 <body class="h-entry">
  <div class="head">
   <header>
    <p data-fill-with="logo"><a href="http://www.w3.org/"><img alt="W3C" height="48" src="styles/logos/W3C" width="72"></a></p>
    <h1 class="p-name no-ref allcaps" id="title">HTML 5.1</h1>
    <h2 class="no-num no-toc no-ref heading settled" id="subtitle"><span class="content">W3C Candidate Recommendation, <time class="dt-updated" datetime="2016-06-21">21 June 2016</time></span></h2>
   </header>
   
   
   
   
  </div>
  
  
  
  
  
  <nav data-fill-with="table-of-contents" id="toc"><p class="prev_next">← <a href="semantics-embedded-content.html#semantics-embedded-content"><span class="secno">4.7</span> <span class="content">Embedded content</span></a> — <a href="index.html#contents">Table of contents</a> — <a href="tabular-data.html#tabular-data"><span class="secno">4.9</span> <span class="content">Tabular data</span></a> →</p>
   <h2 class="no-num no-toc no-ref" id="contents">Table of Contents</h2>
   <ol class="toc" role="directory"><li>
       <a href="links.html#links"><span class="secno">4.8</span> <span class="content">Links</span></a>
       <ol class="toc">
        <li><a href="links.html#links-introduction"><span class="secno">4.8.1</span> <span class="content">Introduction</span></a>
        </li><li><a href="links.html#links-created-by-a-and-area-elements"><span class="secno">4.8.2</span> <span class="content">Links created by <code><span>a</span></code> and <code><span>area</span></code> elements</span></a>
        </li><li><a href="links.html#api-for-a-and-area-elements"><span class="secno">4.8.3</span> <span class="content">API for <code><span>a</span></code> and <code><span>area</span></code> elements</span></a>
        </li><li><a href="links.html#sec-following-hyperlinks"><span class="secno">4.8.4</span> <span class="content">Following hyperlinks</span></a>
        </li><li><a href="links.html#downloading-resources"><span class="secno">4.8.5</span> <span class="content">Downloading resources</span></a>
        </li><li>
         <a href="links.html#sec-link-types"><span class="secno">4.8.6</span> <span class="content"><span>Link types</span></span></a>
         <ol class="toc">
          <li><a href="links.html#link-type-alternate"><span class="secno">4.8.6.1</span> <span class="content">Link type "<span><code>alternate</code></span>"</span></a>
          </li><li><a href="links.html#link-type-author"><span class="secno">4.8.6.2</span> <span class="content">Link type "<span><code>author</code></span>"</span></a>
          </li><li><a href="links.html#link-type-bookmark"><span class="secno">4.8.6.3</span> <span class="content">Link type "<span><code>bookmark</code></span>"</span></a>
          </li><li><a href="links.html#link-type-help"><span class="secno">4.8.6.4</span> <span class="content">Link type "<span><code>help</code></span>"</span></a>
          </li><li><a href="links.html#link-type-icon"><span class="secno">4.8.6.5</span> <span class="content">Link type "<span><code>icon</code></span>"</span></a>
          </li><li><a href="links.html#link-type-license"><span class="secno">4.8.6.6</span> <span class="content">Link type "<span><code>license</code></span>"</span></a>
          </li><li><a href="links.html#link-type-nofollow"><span class="secno">4.8.6.7</span> <span class="content">Link type "<span><code>nofollow</code></span>"</span></a>
          </li><li><a href="links.html#link-type-noreferrer"><span class="secno">4.8.6.8</span> <span class="content">Link type "<span><code>noreferrer</code></span>"</span></a>
          </li><li><a href="links.html#link-type-search"><span class="secno">4.8.6.9</span> <span class="content">Link type "<span><code>search</code></span>"</span></a>
          </li><li><a href="links.html#link-type-stylesheet"><span class="secno">4.8.6.10</span> <span class="content">Link type "<span><code>stylesheet</code></span>"</span></a>
          </li><li><a href="links.html#link-type-tag"><span class="secno">4.8.6.11</span> <span class="content">Link type "<span><code>tag</code></span>"</span></a>
          </li><li>
           <a href="links.html#sequential-link-types"><span class="secno">4.8.6.12</span> <span class="content">Sequential link types</span></a>
           <ol class="toc">
            <li><a href="links.html#link-type-next"><span class="secno">4.8.6.12.1</span> <span class="content">Link type "<span><code>next</code></span>"</span></a>
            </li><li><a href="links.html#link-type-prev"><span class="secno">4.8.6.12.2</span> <span class="content">Link type "<span><code>prev</code></span>"</span></a>
           </li></ol>
          </li><li><a href="links.html#sec-other-link-types"><span class="secno">4.8.6.13</span> <span class="content"><span>Other link types</span></span></a>
         </li></ol>
       </li></ol>
      </li></ol>
  </nav><main><section>
     <h3 class="heading settled" data-level="4.8" id="links"><span class="secno">4.8. </span><span class="content">Links</span><a class="self-link" href="links.html#links"></a></h3>
     <h4 class="heading settled" data-level="4.8.1" id="links-introduction"><span class="secno">4.8.1. </span><span class="content">Introduction</span><a class="self-link" href="links.html#links-introduction"></a></h4>
     <p>Links are a conceptual construct, created by <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-39">a</a></code>, <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-43">area</a></code>, and <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-29">link</a></code> elements, that <a data-link-type="dfn" href="dom.html#represent" id="ref-for-represent-108">represent</a> a connection between
  two resources, one of which is the current <code class="idl"><a data-link-type="idl" href="https://www.w3.org/TR/dom/#document">Document</a></code>. There are two kinds of links in
  HTML:</p>
     <dl>
      <dt><dfn class="dfn-paneled" data-dfn-type="dfn" data-lt="external resource link|links to external resources|external resource|external resources" data-noexport="" id="external-resource-link">Links to external resources</dfn>
      </dt><dd>These are links to resources that are to be used to augment the current document,
    generally automatically processed by the user agent.
      </dd><dt><dfn class="dfn-paneled" data-dfn-type="dfn" data-lt="hyperlink|hyperlinks" data-noexport="" id="hyperlink">Hyperlinks</dfn>
      </dt><dd>These are links to other resources that are generally exposed to the user by the user
    agent so that the user can cause the user agent to <a data-link-type="dfn" href="browsers.html#navigated" id="ref-for-navigated-26">navigate</a> to those resources, e.g.,
    to visit them in a browser or download them.
     </dd></dl>
     <p>For <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-30">link</a></code> elements with an <code>href</code> attribute and a <code><a data-link-type="element-sub" href="document-metadata.html#element-attrdef-link-rel" id="ref-for-element-attrdef-link-rel-17">rel</a></code> attribute, links must be created for the keywords of the <code><a data-link-type="element-sub" href="document-metadata.html#element-attrdef-link-rel" id="ref-for-element-attrdef-link-rel-18">rel</a></code> attribute, as defined for those keywords in the <a data-link-type="dfn" href="links.html#allowed-keywords-and-their-meanings" id="ref-for-allowed-keywords-and-their-meanings-7">link types</a> section.</p>
     <p>Similarly, for <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-40">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-44">area</a></code> elements with an <code>href</code> attribute and a <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-rel" id="ref-for-element-attrdef-a-rel-15">rel</a></code> attribute, links must be created for the keywords of the <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-rel" id="ref-for-element-attrdef-a-rel-16">rel</a></code> attribute as defined for those keywords in the <a data-link-type="dfn" href="links.html#allowed-keywords-and-their-meanings" id="ref-for-allowed-keywords-and-their-meanings-8">link types</a> section. Unlike <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-31">link</a></code> elements, however, <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-41">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-45">area</a></code> elements with an <code>href</code> attribute that either do not have a <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-rel" id="ref-for-element-attrdef-a-rel-17">rel</a></code> attribute, or
  whose <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-rel" id="ref-for-element-attrdef-a-rel-18">rel</a></code> attribute has no keywords that are defined as
  specifying <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-22">hyperlinks</a>, must also create a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-23">hyperlink</a>.
  This implied hyperlink has no special meaning (it has no <a data-link-type="dfn" href="links.html#allowed-keywords-and-their-meanings" id="ref-for-allowed-keywords-and-their-meanings-9">link type</a>)
  beyond linking the element’s <a data-link-type="dfn" href="https://www.w3.org/TR/dom/#concept-node-document">node document</a> to the resource given by the element’s <code>href</code> attribute.</p>
     <p>A <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-24">hyperlink</a> can have one or more <dfn class="dfn-paneled" data-dfn-type="dfn" data-lt="annotates|hyperlink annotations" data-noexport="" id="annotates">hyperlink annotations</dfn> that modify the processing semantics of that hyperlink.</p>
     <h4 class="heading settled" data-level="4.8.2" id="links-created-by-a-and-area-elements"><span class="secno">4.8.2. </span><span class="content">Links created by <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-42">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-46">area</a></code> elements</span><a class="self-link" href="links.html#links-created-by-a-and-area-elements"></a></h4>
     <p>The <dfn class="dfn-paneled" data-dfn-for="a,area,links" data-dfn-type="element-attr" data-export="" id="element-attrdef-a-href"><code>href</code></dfn> attribute on <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-43">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-47">area</a></code> elements must have a value that is a <a data-link-type="dfn" href="infrastructure.html#valid-url-potentially-surrounded-by-spaces" id="ref-for-valid-url-potentially-surrounded-by-spaces-5">valid URL potentially surrounded by
  spaces</a>.</p>
     <p class="note" role="note"> The <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-href" id="ref-for-element-attrdef-a-href-20">href</a></code> attribute on <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-44">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-48">area</a></code> elements is not required; when those elements do not have <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-href" id="ref-for-element-attrdef-a-href-21">href</a></code> attributes they do not create hyperlinks. </p>
     <p>The <dfn class="dfn-paneled" data-dfn-for="a,area,links" data-dfn-type="element-attr" data-export="" id="element-attrdef-a-target"><code>target</code></dfn> attribute, if present, must be
  a <a data-link-type="dfn" href="browsers.html#valid-browsing-context-names-or-keywords" id="ref-for-valid-browsing-context-names-or-keywords-2">valid browsing context name or keyword</a>. It gives the name of the <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-49">browsing context</a> that will be used. <span class="impl">User agents use this name when <a data-link-type="dfn" href="links.html#follow-hyperlinks" id="ref-for-follow-hyperlinks-8">following hyperlinks</a>.</span></p>
     <p>When an <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-45">a</a></code> or <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-49">area</a></code> element’s <a data-link-type="dfn" href="editing.html#activation-behavior" id="ref-for-activation-behavior-4">activation behavior</a> is
  invoked, the user agent may allow the user to indicate a preference regarding whether the
  hyperlink is to be used for <a data-link-type="dfn" href="browsers.html#navigated" id="ref-for-navigated-27">navigation</a> or whether the resource it
  specifies is to be downloaded.</p>
     <p>In the absence of a user preference, the default should be navigation if the element has no <code>download</code> attribute, and should be to download the
  specified resource if it does.</p>
     <p>Whether determined by the user’s preferences or via the presence or absence of the attribute,
  if the decision is to use the hyperlink for <a data-link-type="dfn" href="browsers.html#navigated" id="ref-for-navigated-28">navigation</a> then the user
  agent must <a data-link-type="dfn" href="links.html#follow-hyperlinks" id="ref-for-follow-hyperlinks-9">follow the hyperlink</a>, and if the decision is
  to use the hyperlink to download a resource, the user agent must <a data-link-type="dfn" href="links.html#download-hyperlinks" id="ref-for-download-hyperlinks-5">download the hyperlink</a>. These terms are defined in subsequent sections
  below.</p>
     <p>The <dfn class="dfn-paneled" data-dfn-for="a,area,links" data-dfn-type="element-attr" data-export="" id="element-attrdef-a-download"><code>download</code></dfn> attribute, if present,
  indicates that the author intends the hyperlink to be used for downloading a resource. The
  attribute may have a value; the value, if any, specifies the default file name that the author
  recommends for use in labeling the resource in a local file system. There are no restrictions on
  allowed values, but authors are cautioned that most file systems have limitations with regard to
  what punctuation is supported in file names, and user agents are likely to adjust file names
  accordingly.</p>
     <p>The <dfn class="dfn-paneled" data-dfn-for="a,area,links" data-dfn-type="element-attr" data-export="" id="element-attrdef-a-rel"><code>rel</code></dfn> attribute on <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-46">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-50">area</a></code> elements controls what kinds of links the elements create. The attribute’s value
  must be a <a data-link-type="dfn" href="infrastructure.html#set-of-space-separated-tokens" id="ref-for-set-of-space-separated-tokens-9">set of space-separated tokens</a>. The <a data-link-type="dfn" href="links.html#allowed-keywords-and-their-meanings" id="ref-for-allowed-keywords-and-their-meanings-10">allowed keywords and their meanings</a> are
  defined below.</p>
     <p><code><a data-link-type="element-sub" href="links.html#element-attrdef-a-rel" id="ref-for-element-attrdef-a-rel-19">rel</a></code>'s <a data-link-type="dfn" href="infrastructure.html#supported-tokens" id="ref-for-supported-tokens-5">supported tokens</a> are the keywords defined in <a data-link-type="dfn" href="links.html#allowed-keywords-and-their-meanings" id="ref-for-allowed-keywords-and-their-meanings-11">HTML link types</a> which are allowed on <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-47">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-51">area</a></code> elements, impact the processing model, and are supported by the user agent. The
  possible supported tokens are <code>noreferrer</code>, and <code>noopener</code>. <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-rel" id="ref-for-element-attrdef-a-rel-20">rel</a></code>'s <a data-link-type="dfn" href="infrastructure.html#supported-tokens" id="ref-for-supported-tokens-6">supported tokens</a> must only include the tokens from
  this list that the user agent implements the processing model for.</p>
     <p>Other specifications may add <a data-link-type="dfn" href="links.html#allowed-keywords-and-their-meanings" id="ref-for-allowed-keywords-and-their-meanings-12">HTML link types</a> as
  defined in <a data-link-type="dfn" href="links.html#other-link-types" id="ref-for-other-link-types-2">Other link types</a>. These specifications may require
  that their link types be included in <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-rel" id="ref-for-element-attrdef-a-rel-21">rel</a></code>'s supported
  tokens.</p>
     <p>The <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-rel" id="ref-for-element-attrdef-a-rel-22">rel</a></code> attribute has no default value. If the
  attribute is omitted or if none of the values in the attribute are recognized by the user agent,
  then the document has no particular relationship with the destination resource other than there
  being a hyperlink between the two.</p>
     <p>The <dfn class="dfn-paneled" data-dfn-for="a,links" data-dfn-type="element-attr" data-export="" id="element-attrdef-a-hreflang"><code>hreflang</code></dfn> attribute on <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-48">a</a></code> elements that create <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-25">hyperlinks</a>, if present, gives
  the language of the linked resource. It is purely advisory. The value must be a valid BCP 47
  language tag. <a data-link-type="biblio" href="references.html#biblio-bcp47">[BCP47]</a> User agents must not consider this attribute
  authoritative — upon fetching the resource, user agents must use only language information
  associated with the resource to determine its language, not metadata included in the link to the
  resource.</p>
     <p>The <dfn class="dfn-paneled" data-dfn-for="a,links" data-dfn-type="element-attr" data-export="" id="element-attrdef-a-type"><code>type</code></dfn> attribute, if present, gives the <a data-link-type="dfn" href="infrastructure.html#mime-type" id="ref-for-mime-type-21">MIME type</a> of the linked resource. It is purely advisory. The value must be a <a data-link-type="dfn" href="infrastructure.html#valid-mime-type" id="ref-for-valid-mime-type-9">valid mime type</a>. User agents must not consider the <code>type</code> attribute authoritative — upon fetching the
  resource, user agents must not use metadata included in the link to the resource to determine its
  type.</p>
     <h4 class="heading settled" data-level="4.8.3" id="api-for-a-and-area-elements"><span class="secno">4.8.3. </span><span class="content">API for <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-49">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-52">area</a></code> elements</span><a class="self-link" href="links.html#api-for-a-and-area-elements"></a></h4>
<pre class="idl highlight def" data-highlight="webidl">[<a class="nv idl-code" data-link-type="extended-attribute">NoInterfaceObject</a>]
<span class="kt">interface</span> <dfn class="nv dfn-paneled idl-code" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="interface" data-export="" id="htmlhyperlinkelementutils-htmlhyperlinkelementutils">HTMLHyperlinkElementUtils</dfn> {
  <dfn class="kt" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="dfn" data-lt="stringification behavior" data-noexport="" id="HTMLHyperlinkElementUtils-stringification-behavior">stringifier<a class="self-link" href="links.html#HTMLHyperlinkElementUtils-stringification-behavior"></a></dfn> <span class="kt">attribute</span> <span class="kt">USVString</span> <a class="nv idl-code" data-link-type="attribute" data-type="USVString" href="links.html#dom-htmlhyperlinkelementutils-href" id="ref-for-dom-htmlhyperlinkelementutils-href-1">href</a>;
  <span class="kt">readonly</span> <span class="kt">attribute</span> <span class="kt">USVString</span> <a class="nv idl-code" data-link-type="attribute" data-readonly="" data-type="USVString" href="links.html#dom-htmlhyperlinkelementutils-origin" id="ref-for-dom-htmlhyperlinkelementutils-origin-1">origin</a>;
  <span class="kt">attribute</span> <span class="kt">USVString</span> <a class="nv idl-code" data-link-type="attribute" data-type="USVString" href="links.html#dom-htmlhyperlinkelementutils-protocol" id="ref-for-dom-htmlhyperlinkelementutils-protocol-1">protocol</a>;
  <span class="kt">attribute</span> <span class="kt">USVString</span> <a class="nv idl-code" data-link-type="attribute" data-type="USVString" href="links.html#dom-htmlhyperlinkelementutils-username" id="ref-for-dom-htmlhyperlinkelementutils-username-1">username</a>;
  <span class="kt">attribute</span> <span class="kt">USVString</span> <a class="nv idl-code" data-link-type="attribute" data-type="USVString" href="links.html#dom-htmlhyperlinkelementutils-password" id="ref-for-dom-htmlhyperlinkelementutils-password-1">password</a>;
  <span class="kt">attribute</span> <span class="kt">USVString</span> <a class="nv idl-code" data-link-type="attribute" data-type="USVString" href="links.html#dom-htmlhyperlinkelementutils-host" id="ref-for-dom-htmlhyperlinkelementutils-host-1">host</a>;
  <span class="kt">attribute</span> <span class="kt">USVString</span> <a class="nv idl-code" data-link-type="attribute" data-type="USVString" href="links.html#dom-htmlhyperlinkelementutils-hostname" id="ref-for-dom-htmlhyperlinkelementutils-hostname-1">hostname</a>;
  <span class="kt">attribute</span> <span class="kt">USVString</span> <a class="nv idl-code" data-link-type="attribute" data-type="USVString" href="links.html#dom-htmlhyperlinkelementutils-port" id="ref-for-dom-htmlhyperlinkelementutils-port-1">port</a>;
  <span class="kt">attribute</span> <span class="kt">USVString</span> <a class="nv idl-code" data-link-type="attribute" data-type="USVString" href="links.html#dom-htmlhyperlinkelementutils-pathname" id="ref-for-dom-htmlhyperlinkelementutils-pathname-1">pathname</a>;
  <span class="kt">attribute</span> <span class="kt">USVString</span> <a class="nv idl-code" data-link-type="attribute" data-type="USVString" href="links.html#dom-htmlhyperlinkelementutils-search" id="ref-for-dom-htmlhyperlinkelementutils-search-1">search</a>;
  <span class="kt">attribute</span> <span class="kt">USVString</span> <a class="nv idl-code" data-link-type="attribute" data-type="USVString" href="links.html#dom-htmlhyperlinkelementutils-hash" id="ref-for-dom-htmlhyperlinkelementutils-hash-1">hash</a>;
};
</pre>
     <dl class="domintro">
      <dt><var>hyperlink</var> . <code>toString()</code>
      </dt><dt><var>hyperlink</var> . <code>href</code>
      </dt><dd>
       <p>Returns the hyperlink’s URL.</p>
       <p>Can be set, to change the URL.</p>
      </dd><dt><var>hyperlink</var> . <code>origin</code>
      </dt><dd>
       <p>Returns the hyperlink’s URL’s origin.</p>
      </dd><dt><var>hyperlink</var> . <code>protocol</code>
      </dt><dd>
       <p>Returns the hyperlink’s URL’s scheme.</p>
       <p>Can be set, to change the URL’s scheme.</p>
      </dd><dt><var>hyperlink</var> . <code>username</code>
      </dt><dd>
       <p>Returns the hyperlink’s URL’s username.</p>
       <p>Can be set, to change the URL’s username.</p>
      </dd><dt><var>hyperlink</var> . <code>password</code>
      </dt><dd>
       <p>Returns the hyperlink’s URL’s password.</p>
       <p>Can be set, to change the URL’s password.</p>
      </dd><dt><var>hyperlink</var> . <code>host</code>
      </dt><dd>
       <p>Returns the hyperlink’s URL’s host and port (if different from the default port for the
    scheme).</p>
       <p>Can be set, to change the URL’s host and port.</p>
      </dd><dt><var>hyperlink</var> . <code>hostname</code>
      </dt><dd>
       <p>Returns the hyperlink’s URL’s host.</p>
       <p>Can be set, to change the URL’s host.</p>
      </dd><dt><var>hyperlink</var> . <code>port</code>
      </dt><dd>
       <p>Returns the hyperlink’s URL’s port.</p>
       <p>Can be set, to change the URL’s port.</p>
      </dd><dt><var>hyperlink</var> . <code>pathname</code>
      </dt><dd>
       <p>Returns the hyperlink’s URL’s path.</p>
       <p>Can be set, to change the URL’s path.</p>
      </dd><dt><var>hyperlink</var> . <code>search</code>
      </dt><dd>
       <p>Returns the hyperlink’s URL’s query (includes leading "<code>?</code>" if
    non-empty).</p>
       <p>Can be set, to change the URL’s query (ignores leading "<code>?</code>").</p>
      </dd><dt><var>hyperlink</var> . <code>hash</code>
      </dt><dd>
       <p>Returns the hyperlink’s URL’s fragment (includes leading "<code>#</code>" if
    non-empty).</p>
       <p>Can be set, to change the URL’s fragment (ignores leading "<code>#</code>").</p>
     </dd></dl>
     <div class="impl">
      <p>An element implementing the <code>HTMLHyperlinkElementUtils</code> mixin has an associated url (null or a <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>). It is initially null. </p>
      <p>An element implementing the <code>HTMLHyperlinkElementUtils</code> mixin has an associated <dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="set-the-url">set the url</dfn> algorithm, which sets this
  element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> to the <a data-link-type="dfn" href="infrastructure.html#resulting-url-string" id="ref-for-resulting-url-string-9">resulting URL string</a> of <a data-link-type="dfn" href="infrastructure.html#reparsed" id="ref-for-reparsed-23">parsing</a> this element’s <code>href</code> content attribute value relative to this element. If <a data-link-type="dfn" href="infrastructure.html#reparsed" id="ref-for-reparsed-24">parsing</a> was aborted with an error, set this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> to null.</p>
      <p>When elements implementing the <code>HTMLHyperlinkElementUtils</code> mixin are created, and
  whenever those elements have their <code>href</code> content
  attribute set, changed, or removed, the user agent must <a data-link-type="dfn" href="links.html#set-the-url" id="ref-for-set-the-url-1">set the url</a>.</p>
      <p class="note" role="note">This is only observable for <code>blob:</code> URLs as <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-parser">parsing</a> them involves the <a data-link-type="dfn" href="infrastructure.html#structuredclone" id="ref-for-structuredclone-11">StructuredClone</a> abstract algorithm.</p>
      <p>An element implementing the <code>HTMLHyperlinkElementUtils</code> mixin has an associated <dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="reinitialise-url">reinitialise url</dfn> algorithm, which runs these steps:</p>
      <ol>
       <li>If element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> is non-null, its <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-scheme">scheme</a> is "<code>blob</code>", and its <a data-link-type="dfn" href="https://url.spec.whatwg.org/#non-relative-flag">non-relative flag</a> is set, terminate these steps.
       </li><li><a data-link-type="dfn" href="links.html#set-the-url" id="ref-for-set-the-url-2">Set the url</a>.
      </li></ol>
      <p>To <dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="update-href">update <code>href</code></dfn>, set the element’s <code>href</code> content attribute’s value to the element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>, serialized.</p>
      <hr>
      <p>The <dfn class="dfn-paneled idl-code" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="attribute" data-export="" id="dom-htmlhyperlinkelementutils-href"><code>href</code></dfn> attribute’s getter must run these
  steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-1">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> is null and this element has no <code>href</code> content attribute, return the empty string. 
       </li><li>Otherwise, if <var>url</var> is null, return this element’s <code>href</code> content attribute’s value.
       </li><li>Return <var>url</var>, serialized.
      </li></ol>
      <p>The <code>href</code> attribute’s setter must set this element’s <code>href</code> content attribute’s value to the given value. </p>
      <p>The <dfn class="dfn-paneled idl-code" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="attribute" data-export="" id="dom-htmlhyperlinkelementutils-origin"><code>origin</code></dfn> attribute’s getter must run
  these steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-2">Reinitialise url</a>.
       </li><li>If this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> is null, return the
   empty string.
       </li><li>Return the <a data-link-type="dfn" href="browsers.html#unicode-serialization" id="ref-for-unicode-serialization-1">Unicode serialization</a> of this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-origin">origin</a>.
      </li></ol>
      <p class="note" role="note">It returns the Unicode rather than the ASCII serialization for
  compatibility with <code>MessageEvent</code>.</p>
      <p>The <dfn class="dfn-paneled idl-code" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="attribute" data-export="" id="dom-htmlhyperlinkelementutils-protocol"><code>protocol</code></dfn> attribute’s getter must
  run these steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-3">Reinitialise url</a>.
       </li><li>If this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> is null, return "<code>:</code>".
       </li><li>Return this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-scheme">scheme</a>, followed by "<code>:</code>".
      </li></ol>
      <p>The <code>protocol</code> attribute’s setter must run these
  steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-4">Reinitialise url</a>.
       </li><li>If this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> is null, terminate these
   steps.
       </li><li><a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-basic-url-parser">Basic URL parse</a> the given value, followed by <code>:</code>", with this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> as <var>url</var> and <a data-link-type="dfn" href="https://url.spec.whatwg.org/#scheme-start-state">scheme start state</a> as <var>state override</var>.
       </li><li><a data-link-type="dfn" href="links.html#update-href" id="ref-for-update-href-1">Update <code>href</code></a>.
      </li></ol>
      <p>The <dfn class="dfn-paneled idl-code" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="attribute" data-export="" id="dom-htmlhyperlinkelementutils-username"><code>username</code></dfn> attribute’s getter must
  run these steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-5">Reinitialise url</a>.
       </li><li>If this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> is null, return the
   empty string.
       </li><li>Return this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-username">username</a>.
      </li></ol>
      <p>The <code>username</code> attribute’s setter must run these
  steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-6">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-host">host</a> is null,
   or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#non-relative-flag">non-relative flag</a> is set, terminate these steps.
       </li><li><a data-link-type="dfn" href="https://url.spec.whatwg.org/#set-the-username">set the username</a>, given <var>url</var> and the given value.
       </li><li><a data-link-type="dfn" href="links.html#update-href" id="ref-for-update-href-2">Update <code>href</code></a>.
      </li></ol>
      <p>The <dfn class="dfn-paneled idl-code" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="attribute" data-export="" id="dom-htmlhyperlinkelementutils-password"><code>password</code></dfn> attribute’s getter must
  run these steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-7">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-password">password</a> is null, return the empty string.
       </li><li>Return <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-password">password</a>.
      </li></ol>
      <p>The <code>password</code> attribute’s setter must run these
  steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-8">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-host">host</a> is null,
   or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#non-relative-flag">non-relative flag</a> is set, terminate these steps.
       </li><li><a data-link-type="dfn" href="https://url.spec.whatwg.org/#set-the-password">Set the password</a>, given <var>url</var> and the given value.
       </li><li><a data-link-type="dfn" href="links.html#update-href" id="ref-for-update-href-3">Update <code>href</code></a>.
      </li></ol>
      <p>The <dfn class="dfn-paneled idl-code" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="attribute" data-export="" id="dom-htmlhyperlinkelementutils-host"><code>host</code></dfn> attribute’s getter must run these
  steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-9">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-host">host</a> is null,
   return the empty string.
       </li><li>If <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-port">port</a> is null, return <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-host">host</a>, serialized.
       </li><li>Return <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-host">host</a>, serialized, followed by "<code>:</code>" and <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-port">port</a>, serialized.
      </li></ol>
      <p>The <code>host</code> attribute’s setter must run these steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-10">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> is null or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#non-relative-flag">non-relative flag</a> is set,
   terminate these steps.
       </li><li><a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-basic-url-parser">Basic URL parse</a> the given value, with <var>url</var> as <var>url</var> and <a data-link-type="dfn" href="https://url.spec.whatwg.org/#host-state">host state</a> as <var>state
   override</var>.
       </li><li><a data-link-type="dfn" href="links.html#update-href" id="ref-for-update-href-4">Update <code>href</code></a>.
      </li></ol>
      <p>The <dfn class="dfn-paneled idl-code" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="attribute" data-export="" id="dom-htmlhyperlinkelementutils-hostname"><code>hostname</code></dfn> attribute’s getter must
  run these steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-11">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-host">host</a> is null,
   return the empty string.
       </li><li>Return <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-host">host</a>, serialized.
      </li></ol>
      <p>The <code>hostname</code> attribute’s setter must run these
  steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-12">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> is null or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#non-relative-flag">non-relative flag</a> is set,
   terminate these steps.
       </li><li><a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-basic-url-parser">Basic URL parse</a> the given value, with <var>url</var> as <var>url</var> and <a data-link-type="dfn" href="https://url.spec.whatwg.org/#hostname-state">hostname state</a> as <var>state
   override</var>.
       </li><li><a data-link-type="dfn" href="links.html#update-href" id="ref-for-update-href-5">Update <code>href</code></a>.
      </li></ol>
      <p>The <dfn class="dfn-paneled idl-code" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="attribute" data-export="" id="dom-htmlhyperlinkelementutils-port"><code>port</code></dfn> attribute’s getter must run these
  steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-13">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-port">port</a> is null,
   return the empty string.
       </li><li>Return <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-port">port</a>, serialized.
      </li></ol>
      <p>The <code>port</code> attribute’s setter must run these steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-14">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-host">host</a> is null, <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#non-relative-flag">non-relative flag</a> is set, or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-scheme">scheme</a> is "<code>file</code>", terminate these
   steps.
       </li><li><a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-basic-url-parser">Basic URL parse</a> the given value, with <var>url</var> as <var>url</var> and <a data-link-type="dfn" href="https://url.spec.whatwg.org/#port-state">port state</a> as <var>state
   override</var>.
       </li><li><a data-link-type="dfn" href="links.html#update-href" id="ref-for-update-href-6">Update <code>href</code></a>.
      </li></ol>
      <p>The <dfn class="dfn-paneled idl-code" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="attribute" data-export="" id="dom-htmlhyperlinkelementutils-pathname"><code>pathname</code></dfn> attribute’s getter must
  run these steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-15">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> is null, return the empty string.
       </li><li>If <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#non-relative-flag">non-relative flag</a> is set, return the first string in <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-path">path</a>.
       </li><li>Return "<code>/</code>", followed by the strings in <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-path">path</a> (including empty strings), separated from each other by
   "<code>/</code>".
      </li></ol>
      <p>The <code>pathname</code> attribute’s setter must run these
  steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-16">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> is null or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#non-relative-flag">non-relative flag</a> is set,
   terminate these steps.
       </li><li>Set <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-path">path</a> to the empty
   list.
       </li><li><a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-basic-url-parser">Basic URL parse</a> the given value, with <var>url</var> as <var>url</var> and <a data-link-type="dfn" href="https://url.spec.whatwg.org/#path-start-state">path start state</a> as <var>state
   override</var>.
       </li><li><a data-link-type="dfn" href="links.html#update-href" id="ref-for-update-href-7">Update <code>href</code></a>.
      </li></ol>
      <p>The <dfn class="dfn-paneled idl-code" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="attribute" data-export="" id="dom-htmlhyperlinkelementutils-search"><code>search</code></dfn> attribute’s getter must run
  these steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-17">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> is null, or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-query">query</a> is either null or the empty string, return the empty
   string.
       </li><li>Return "<code>?</code>", followed by <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-query">query</a>.
      </li></ol>
      <p>The <code>search</code> attribute’s setter must run these
  steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-18">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> is null, terminate these steps.
       </li><li>If the given value is the empty string, set <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-query">query</a> to null. 
       </li><li>
        <p>Otherwise, run these substeps:</p>
        <ol>
         <li>Let <var>input</var> be the given value with a single leading "<code>?</code>"
     removed, if any.
         </li><li>Set <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-query">query</a> to the empty
     string.
         </li><li><a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-basic-url-parser">Basic URL parse</a> <var>input</var>, with <var>url</var> as <var>url</var> and <a data-link-type="dfn" href="https://url.spec.whatwg.org/#query-state">query state</a> as <var>state override</var>, and
     this element’s <a data-link-type="dfn" href="https://www.w3.org/TR/dom/#concept-node-document">node document</a>’s <a data-link-type="dfn" href="https://www.w3.org/TR/dom/#concept-document-encoding">document’s character encoding</a> as <var>encoding override</var>.
        </li></ol>
       </li><li><a data-link-type="dfn" href="links.html#update-href" id="ref-for-update-href-8">Update <code>href</code></a>.
      </li></ol>
      <p>The <dfn class="dfn-paneled idl-code" data-dfn-for="HTMLHyperlinkElementUtils" data-dfn-type="attribute" data-export="" id="dom-htmlhyperlinkelementutils-hash"><code>hash</code></dfn> attribute’s getter must run these
  steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-19">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> is null, or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-fragment">fragment</a> is either null or the empty string, return the
   empty string.
       </li><li>Return "<code>#</code>", followed by <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-fragment">fragment</a>.
      </li></ol>
      <p>The <code>hash</code> attribute’s setter must run these steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="links.html#reinitialise-url" id="ref-for-reinitialise-url-20">Reinitialise url</a>.
       </li><li>Let <var>url</var> be this element’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>.
       </li><li>If <var>url</var> is null or <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-scheme">scheme</a> is "<code>javascript</code>", terminate these
   steps.
       </li><li>If the given value is the empty string, set <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-fragment">fragment</a> to null. 
       </li><li>
        <p>Otherwise, run these substeps:</p>
        <ol>
         <li>Let <var>input</var> be the given value with a single leading "<code>#</code>"
     removed, if any.
         </li><li>Set <var>url</var>’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-fragment">fragment</a> to the empty
     string.
         </li><li><a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-basic-url-parser">Basic URL parse</a> <var>input</var>, with <var>url</var> as <var>url</var> and <a data-link-type="dfn" href="https://url.spec.whatwg.org/#fragment-state">fragment state</a> as <var>state
     override</var>.
        </li></ol>
       </li><li><a data-link-type="dfn" href="links.html#update-href" id="ref-for-update-href-9">Update <code>href</code></a>.
      </li></ol>
     </div>
     <div class="impl">
      <h4 class="heading settled" data-level="4.8.4" id="sec-following-hyperlinks"><span class="secno">4.8.4. </span><span class="content">Following hyperlinks</span><a class="self-link" href="links.html#sec-following-hyperlinks"></a></h4>
      <p>When a user <dfn class="dfn-paneled" data-dfn-type="dfn" data-lt="follow hyperlinks|following hyperlinks|follows a hyperlink|follow the hyperlinks|follow the hyperlink|following a hyperlink" data-noexport="" id="follow-hyperlinks">follows a hyperlink</dfn> created by an element <var>subject</var>, optionally with a <var>hyperlink suffix</var>, the user agent must run the
  following steps:</p>
      <ol>
       <li>Let <var>replace</var> be false.
       </li><li>Let <var>source</var> be the <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-50">browsing context</a> that contains the <code class="idl"><a data-link-type="idl" href="https://www.w3.org/TR/dom/#document">Document</a></code> object with which <var>subject</var> in question is
    associated.
       </li><li>
        <p>If the user indicated a specific <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-51">browsing context</a> when following the hyperlink,
    or if the user agent is configured to follow hyperlinks by navigating a particular browsing
    context, then let <var>target</var> be that <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-52">browsing context</a>. If this is a new <a data-link-type="dfn" href="browsers.html#top-level-browsing-context" id="ref-for-top-level-browsing-context-3">top-level browsing context</a> (e.g., when the user followed the hyperlink using "Open
    in New Tab"), then <var>source</var> must be set as the new <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-53">browsing context</a>’s <a data-link-type="dfn" href="browsers.html#one-permitted-sandboxed-navigator" id="ref-for-one-permitted-sandboxed-navigator-1">one permitted sandboxed navigator</a>.</p>
        <p>Otherwise, if <var>subject</var> is an <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-50">a</a></code> or <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-53">area</a></code> element
    that has a <code>target</code> attribute, then let <var>target</var> be the <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-54">browsing context</a> that is chosen by applying <a data-link-type="dfn" href="browsers.html#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name" id="ref-for-the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name-3">the
    rules for choosing a browsing context given a browsing context name</a>, using the value of
    the <code>target</code> attribute as the browsing context name. If
    these rules result in the creation of a new <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-55">browsing context</a>, set <var>replace</var> to true.</p>
        <p>Otherwise, if <var>target</var> is an <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-51">a</a></code> or <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-54">area</a></code> element
    with no <code>target</code> attribute, but the <code class="idl"><a data-link-type="idl" href="https://www.w3.org/TR/dom/#document">Document</a></code> contains a <code><a data-link-type="element" href="document-metadata.html#elementdef-base" id="ref-for-elementdef-base-27">base</a></code> element with a <code>target</code> attribute, then let <var>target</var> be the <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-56">browsing context</a> that is chosen by applying <a data-link-type="dfn" href="browsers.html#the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name" id="ref-for-the-rules-for-choosing-a-browsing-context-given-a-browsing-context-name-4">the rules for choosing a browsing
    context given a browsing context name</a>, using the value of the <code>target</code> attribute of the first such <code><a data-link-type="element" href="document-metadata.html#elementdef-base" id="ref-for-elementdef-base-28">base</a></code> element as
    the browsing context name. If these rules result in the creation of a new <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-57">browsing context</a>, set <var>replace</var> to true.</p>
        <p>Otherwise, let <var>target</var> be the <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-58">browsing context</a> that <var>subject</var> itself is in.</p>
       </li><li><a data-link-type="dfn" href="infrastructure.html#reparsed" id="ref-for-reparsed-25">Parse</a> the <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> given by <var>subject</var>’s <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-href" id="ref-for-element-attrdef-a-href-22">href</a></code> attribute, relative to <var>subject</var>’s <a data-link-type="dfn" href="https://www.w3.org/TR/dom/#concept-node-document">node document</a>.
       </li><li>
        <p>If that is successful, let <var>URL</var> be the <a data-link-type="dfn" href="infrastructure.html#resulting-url-string" id="ref-for-resulting-url-string-10">resulting URL string</a>.</p>
        <p>Otherwise, if <a data-link-type="dfn" href="infrastructure.html#reparsed" id="ref-for-reparsed-26">parsing</a> the <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> failed, the
    user agent may report the error to the user in a user-agent-specific manner, may <a data-link-type="dfn" href="webappapis.html#queuing" id="ref-for-queuing-85">queue a
    task</a> to <a data-link-type="dfn" href="browsers.html#navigated" id="ref-for-navigated-29">navigate</a> the <var>target</var> <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-59">browsing context</a> to an error page to report the error, or may ignore the error and
    do nothing. In any case, the user agent must then abort these steps.</p>
       </li><li>If there is a <var>hyperlink suffix</var>, append it to <var>URL</var>.
       </li><li><a data-link-type="dfn" href="webappapis.html#queuing" id="ref-for-queuing-86">Queue a task</a> to <a data-link-type="dfn" href="browsers.html#navigated" id="ref-for-navigated-30">navigate</a> the <var>target</var> <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-60">browsing context</a> to <var>URL</var>. If <var>replace</var> is true,
    the navigation must be performed with <a data-link-type="dfn" href="browsers.html#replacement-must-be-enabled" id="ref-for-replacement-must-be-enabled-7">replacement enabled</a>. The <a data-link-type="dfn" href="browsers.html#source-browsing-context" id="ref-for-source-browsing-context-8">source browsing
    context</a> must be <var>source</var>.
      </li></ol>
      <p>The <a data-link-type="dfn" href="webappapis.html#task-source" id="ref-for-task-source-10">task source</a> for the tasks mentioned above is the <a data-link-type="dfn" href="webappapis.html#dom-manipulation-task-source" id="ref-for-dom-manipulation-task-source-10">DOM manipulation task
  source</a>.</p>
     </div>
     <h4 class="heading settled" data-level="4.8.5" id="downloading-resources"><span class="secno">4.8.5. </span><span class="content">Downloading resources</span><a class="self-link" href="links.html#downloading-resources"></a></h4>
     <p>In some cases, resources are intended for later use rather than immediate viewing. To indicate
  that a resource is intended to be downloaded for use later, rather than immediately used, the <code>download</code> attribute can be specified on the <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-52">a</a></code> or <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-55">area</a></code> element that creates the <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-26">hyperlink</a> to that
  resource.</p>
     <p>The attribute can furthermore be given a value, to specify the file name that user agents are
  to use when storing the resource in a file system. This value can be overridden by the <code>Content-Disposition</code> HTTP header’s filename parameters. <a data-link-type="biblio" href="references.html#biblio-rfc6266">[RFC6266]</a></p>
     <p>In cross-origin situations, the <code>download</code> attribute has to be combined with the <code>Content-Disposition</code> HTTP header, specifically with the <code>attachment</code> disposition type, to avoid the user being warned of possibly
  nefarious activity. (This is to protect users from being made to download sensitive personal or
  confidential information without their full understanding.)</p>
     <div class="impl">
      <hr>
      <p>When a user <dfn class="dfn-paneled" data-dfn-type="dfn" data-lt="download hyperlinks|downloads a hyperlink|download the hyperlink|download" data-noexport="" id="download-hyperlinks">downloads a hyperlink</dfn> created by an
  element <var>subject</var>, optionally with a <var>hyperlink suffix</var>, the user agent must
  run the following steps:</p>
      <ol>
       <li><a data-link-type="dfn" href="infrastructure.html#reparsed" id="ref-for-reparsed-27">Parse</a> the <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> given by <var>subject</var>’s <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-href" id="ref-for-element-attrdef-a-href-23">href</a></code> attribute, relative to <var>subject</var>.
       </li><li>If <a data-link-type="dfn" href="infrastructure.html#reparsed" id="ref-for-reparsed-28">parsing</a> the <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> fails, the user agent
    may report the error to the user in a user-agent-specific manner, may <a data-link-type="dfn" href="browsers.html#navigated" id="ref-for-navigated-31">navigate</a> to an error page to report the error, or may
    ignore the error and do nothing. In either case, the user agent must abort these steps. 
       </li><li>Otherwise, let <var>URL</var> be the <a data-link-type="dfn" href="infrastructure.html#resulting-url-string" id="ref-for-resulting-url-string-11">resulting URL string</a>.
       </li><li>If there is a <var>hyperlink suffix</var>, append it to <var>URL</var>.
       </li><li>Return to whatever algorithm invoked these steps and continue
    these steps <a data-link-type="dfn" href="infrastructure.html#in-parallel" id="ref-for-in-parallel-19">in parallel</a>.
       </li><li><a data-link-type="dfn" href="https://fetch.spec.whatwg.org/#concept-fetch">Fetch</a> <var>URL</var> and handle the resulting resource <a data-link-type="dfn" href="links.html#as-a-download" id="ref-for-as-a-download-1">as a download</a>.
      </li></ol>
      <p>When a user agent is to handle a resource obtained from a fetch <dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="as-a-download">as a download</dfn>, it
  should provide the user with a way to save the resource for later use, if a resource is
  successfully obtained; or otherwise should report any problems downloading the file to the
  user.</p>
      <p>If the user agent needs a file name for a resource being handled <a data-link-type="dfn" href="links.html#as-a-download" id="ref-for-as-a-download-2">as a download</a>, it
  should select one using the following algorithm.</p>
      <p class="warning">This algorithm is intended to mitigate security dangers involved in downloading
  files from untrusted sites, and user agents are strongly urged to follow it.</p>
      <ol>
       <li>Let <var>filename</var> be the void value.
       </li><li>If the resource has a <code>Content-Disposition</code> header, that header specifies the <code>attachment</code> disposition type, and the
    header includes file name information, then let <var>filename</var> have the value
    specified by the header, and jump to the step labeled <i>sanitize</i> below. <a data-link-type="biblio" href="references.html#biblio-rfc6266">[RFC6266]</a>
       </li><li>Let <var>interface origin</var> be the <a data-link-type="dfn" href="browsers.html#concept-cross-origin" id="ref-for-concept-cross-origin-19">origin</a> of the <code class="idl"><a data-link-type="idl" href="https://www.w3.org/TR/dom/#document">Document</a></code> in which the <a data-link-type="dfn" href="links.html#download-hyperlinks" id="ref-for-download-hyperlinks-6">download</a> or <a data-link-type="dfn" href="browsers.html#navigated" id="ref-for-navigated-32">navigate</a> action resulting in the download was initiated, if any.
       </li><li>Let <var>resource origin</var> be the <a data-link-type="dfn" href="browsers.html#concept-cross-origin" id="ref-for-concept-cross-origin-20">origin</a> of the URL of the
    resource being downloaded, unless that URL’s <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-scheme">scheme</a> component is <code>data</code>, in which case let <var>resource origin</var> be
    the same as the <var>interface origin</var>, if any.
       </li><li>If there is no <var>interface origin</var>, then let <var>trusted
    operation</var> be true. Otherwise, let <var>trusted operation</var> be true if <var>resource origin</var> is the <a data-link-type="dfn" href="browsers.html#same-origin" id="ref-for-same-origin-10">same origin</a> as <var>interface
    origin</var>, and false otherwise.
       </li><li>If <var>trusted operation</var> is true and the resource has a <code>Content-Disposition</code> header and that header includes file
    name information, then let <var>filename</var> have the value specified by the header,
    and jump to the step labeled <i>sanitize</i> below. <a data-link-type="biblio" href="references.html#biblio-rfc6266">[RFC6266]</a>
       </li><li>If the download was not initiated from a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-27">hyperlink</a> created by an <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-53">a</a></code> or <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-56">area</a></code> element, or if the element of the <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-28">hyperlink</a> from
    which it was initiated did not have a <code>download</code> attribute when the download was initiated, or if there was such an attribute but its value when
    the download was initiated was the empty string, then jump to the step labeled <i>no proposed
    file name</i>.
       </li><li>Let <var>proposed filename</var> have the value of the <code>download</code> attribute of the element of the <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-29">hyperlink</a> that initiated the download at the time the download was
    initiated.
       </li><li>If <var>trusted operation</var> is true, let <var>filename</var> have
    the value of <var>proposed filename</var>, and jump to the step labeled <i>sanitize</i> below.
       </li><li>If the resource has a <code>Content-Disposition</code> header and that header specifies the <code>attachment</code> disposition type, let <var>filename</var> have the value of <var>proposed filename</var>, and jump to the
    step labeled <i>sanitize</i> below. <a data-link-type="biblio" href="references.html#biblio-rfc6266">[RFC6266]</a>
       </li><li><i>No proposed file name</i>: If <var>trusted operation</var> is true, or if the
    user indicated a preference for having the resource in question downloaded, let <var>filename</var> have a value derived from the <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> of the resource in a
    user-agent-defined manner, and jump to the step labeled <i>sanitize</i> below.
       </li><li>
        <p>Act in a user-agent-defined manner to safeguard the user from a potentially hostile
    cross-origin download. If the download is not to be aborted, then let <var>filename</var> be set to the user’s preferred file name or to a file name selected by
    the user agent, and jump to the step labeled <i>sanitize</i> below.</p>
        <div class="warning">
         <p>If the algorithm reaches this step, then a download was begun from a different origin than
      the resource being downloaded, and the origin did not mark the file as suitable for
      downloading, and the download was not initiated by the user. This could be because a <code>download</code> attribute was used to trigger the download, or
      because the resource in question is not of a type that the user agent supports.</p>
         <p>This could be dangerous, because, for instance, a hostile server could be trying to get a
      user to unknowingly download private information and then re-upload it to the hostile server,
      by tricking the user into thinking the data is from the hostile server.</p>
         <p>Thus, it is in the user’s interests that the user be somehow notified that the resource in
      question comes from quite a different source, and to prevent confusion, any suggested file name
      from the potentially hostile <var>interface origin</var> should be ignored.</p>
        </div>
       </li><li><i>Sanitize</i>: Optionally, allow the user to influence <var>filename</var>. For
    example, a user agent could prompt the user for a file name, potentially providing the value of <var>filename</var> as determined above as a default value.
       </li><li>
        <p>Adjust <var>filename</var> to be suitable for the local file system.</p>
        <p class="example" id="example-1aafb432"><a class="self-link" href="links.html#example-1aafb432"></a>For example, this could involve removing characters that are not legal in
    file names, or trimming leading and trailing whitespace.</p>
       </li><li>If the platform conventions do not in any way use <a data-link-type="dfn" href="links.html#extension" id="ref-for-extension-1">extensions</a> to determine the types of file on the file system,
    then return <var>filename</var> as the file name and abort these steps.
       </li><li>Let <var>claimed type</var> be the type given by the resource’s <a data-link-type="dfn" href="infrastructure.html#content-type-metadata" id="ref-for-content-type-metadata-25">Content-Type metadata</a>, if any is known. Let <var>named
    type</var> be the type given by <var>filename</var>’s <a data-link-type="dfn" href="links.html#extension" id="ref-for-extension-2">extension</a>, if any is known. For the purposes of this step, a <i>type</i> is a mapping of a <a data-link-type="dfn" href="infrastructure.html#mime-type" id="ref-for-mime-type-22">MIME type</a> to an <a data-link-type="dfn" href="links.html#extension" id="ref-for-extension-3">extension</a>.
       </li><li>If <var>named type</var> is consistent with the user’s preferences (e.g., because
    the value of <var>filename</var> was determined by prompting the user), then return <var>filename</var> as the file name and abort these steps.
       </li><li>If <var>claimed type</var> and <var>named type</var> are the same type
    (i.e., the type given by the resource’s <a data-link-type="dfn" href="infrastructure.html#content-type-metadata" id="ref-for-content-type-metadata-26">Content-Type metadata</a> is
    consistent with the type given by <var>filename</var>’s <a data-link-type="dfn" href="links.html#extension" id="ref-for-extension-4">extension</a>), then return <var>filename</var> as the file
    name and abort these steps.
       </li><li>
        <p>If the <var>claimed type</var> is known, then alter <var>filename</var> to
    add an <a data-link-type="dfn" href="links.html#extension" id="ref-for-extension-5">extension</a> corresponding to <var>claimed
    type</var>.</p>
        <p>Otherwise, if <var>named type</var> is known to be potentially dangerous (e.g., it
    will be treated by the platform conventions as a native executable, shell script, HTML
    application, or executable-macro-capable document) then optionally alter <var>filename</var> to add a known-safe <a data-link-type="dfn" href="links.html#extension" id="ref-for-extension-6">extension</a> (e.g., "<code>.txt</code>").</p>
        <p class="note" role="note"> This last step would make it impossible to download executables, which might not
    be desirable. As always, implementors are forced to balance security and usability in this
    matter. </p>
       </li><li>Return <var>filename</var> as the file name.
      </li></ol>
      <p>For the purposes of this algorithm, a file <dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="extension">extension</dfn> consists of any part of the file name that platform conventions dictate will be used for
  identifying the type of the file. For example, many operating systems use the part of the file
  name following the last dot ("<code>.</code>") in the file name to determine the type of
  the file, and from that the manner in which the file is to be opened or executed.</p>
      <p>User agents should ignore any directory or path information provided by the resource itself,
  its <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a>, and any <code>download</code> attribute, in
  deciding where to store the resulting file in the user’s file system.</p>
     </div>
     <h4 class="heading settled" data-level="4.8.6" id="sec-link-types"><span class="secno">4.8.6. </span><span class="content"><dfn class="dfn-paneled" data-dfn-type="dfn" data-lt="allowed keywords and their meanings|link types|link type|html link types" data-noexport="" id="allowed-keywords-and-their-meanings">Link types</dfn></span><a class="self-link" href="links.html#sec-link-types"></a></h4>
     <p>The following table summarizes the link types that are defined by this specification. This
  table is non-normative; the actual definitions for the link types are given in the next few
  sections.</p>
     <p>In this section, the term <i>referenced document</i> refers to the resource identified by the
  element representing the link, and the term <i>current document</i> refers to the resource within
  which the element representing the link finds itself.</p>
     <div class="impl">
      <p>To determine which link types apply to a <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-32">link</a></code>, <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-54">a</a></code>, or <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-57">area</a></code> element, the element’s <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-rel" id="ref-for-element-attrdef-a-rel-23">rel</a></code> attribute must be <a data-link-type="dfn" href="infrastructure.html#split-a-string-on-spaces" id="ref-for-split-a-string-on-spaces-4">split on spaces</a>. The resulting tokens are the link types
  that apply to that element.</p>
     </div>
     <p>Except where otherwise specified, a keyword must not be specified more than once per <code><a data-link-type="element-sub" href="document-metadata.html#element-attrdef-link-rel" id="ref-for-element-attrdef-link-rel-19">rel</a></code> attribute.</p>
     <p>Link types are always <a data-link-type="dfn" href="infrastructure.html#ascii-case-insensitive" id="ref-for-ascii-case-insensitive-18">ASCII case-insensitive</a><span class="impl">, and must be
  compared as such</span>.</p>
     <p class="example" id="example-a862b268"><a class="self-link" href="links.html#example-a862b268"></a>Thus, <code>rel="next"</code> is the same as <code>rel="NEXT"</code>.</p>
     <table>
      <thead>
       <tr>
        <th rowspan="2">Link type
        </th><th colspan="2">Effect on...
        </th><th rowspan="2">Brief description
       </th></tr><tr>
        <th><code>link</code>
        </th><th><code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-55">a</a></code> and <code>area</code>
      </th></tr></thead><tbody>
       <tr>
        <td><code>alternate</code>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-30">hyperlink</a>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-31">hyperlink</a>
        </td><td>Gives alternate representations of the current document.
       </td></tr><tr>
        <td><code>author</code>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-32">hyperlink</a>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-33">hyperlink</a>
        </td><td>Gives a link to the author of the current document or article.
       </td></tr><tr>
        <td><code>bookmark</code>
        </td><td><em>not allowed</em>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-34">hyperlink</a>
        </td><td>Gives the permalink for the nearest ancestor section.
       </td></tr><tr>
        <td><code>help</code>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-35">hyperlink</a>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-36">hyperlink</a>
        </td><td>Provides a link to context-sensitive help.
       </td></tr><tr>
        <td><code>icon</code>
        </td><td><a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-6">External Resource</a>
        </td><td><em>not allowed</em>
        </td><td>Imports an icon to represent the current document.
       </td></tr><tr>
        <td><code>license</code>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-37">hyperlink</a>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-38">hyperlink</a>
        </td><td>Indicates that the main content of the current document is covered by the copyright license described by the referenced document.
       </td></tr><tr>
        <td><code>next</code>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-39">hyperlink</a>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-40">hyperlink</a>
        </td><td>Indicates that the current document is a part of a series, and that the next document in the series is the referenced document.
       </td></tr><tr>
        <td><code>nofollow</code>
        </td><td><em>not allowed</em>
        </td><td><a data-link-type="dfn" href="https://drafts.csswg.org/css-ruby-1/#ruby-annotation-box">Annotation</a>
        </td><td>Indicates that the current document’s original author or publisher does not endorse the referenced document.
       </td></tr><tr>
        <td><code>noreferrer</code>
        </td><td><em>not allowed</em>
        </td><td><a data-link-type="dfn" href="https://drafts.csswg.org/css-ruby-1/#ruby-annotation-box">Annotation</a>
        </td><td>Requires that the user agent not send an HTTP <code>Referer</code> (sic) header if the user follows the hyperlink.
       </td></tr><tr>
        <td><code>prev</code>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-41">hyperlink</a>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-42">hyperlink</a>
        </td><td>Indicates that the current document is a part of a series, and that the previous document in the series is the referenced document.
       </td></tr><tr>
        <td><code>search</code>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-43">hyperlink</a>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-44">hyperlink</a>
        </td><td>Gives a link to a resource that can be used to search through the current document and its related pages.
       </td></tr><tr>
        <td><code>stylesheet</code>
        </td><td><a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-7">External Resource</a>
        </td><td><em>not allowed</em>
        </td><td>Imports a stylesheet.
       </td></tr><tr>
        <td><code>tag</code>
        </td><td><em>not allowed</em>
        </td><td><a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-45">hyperlink</a>
        </td><td>Gives a tag (identified by the given address) that applies to the current document.
     </td></tr></tbody></table>
     <div class="impl">
      <p>Some of the types described below list synonyms for these values. These are to be handled as specified by user agents, but must not be used
  in documents.</p>
     </div>
     <h5 class="heading settled" data-level="4.8.6.1" id="link-type-alternate"><span class="secno">4.8.6.1. </span><span class="content">Link type "<dfn data-dfn-for="link/type" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-type-alternate"><code>alternate</code><a class="self-link" href="links.html#attr-valuedef-link-type-alternate"></a></dfn>"</span><a class="self-link" href="links.html#link-type-alternate"></a></h5>
     <p>The <code>alternate</code> keyword may be used with <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-33">link</a></code>, <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-56">a</a></code>, and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-58">area</a></code> elements.</p>
     <p>The meaning of this keyword depends on the values of the other attributes.</p>
     <dl class="switch">
      <dt>If the element is a <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-34">link</a></code> element and the <code><a data-link-type="element-sub" href="document-metadata.html#element-attrdef-link-rel" id="ref-for-element-attrdef-link-rel-20">rel</a></code> attribute also contains the keyword <code>stylesheet</code>
      </dt><dd>
       <p>The <code>alternate</code> keyword modifies the meaning of the <code>stylesheet</code> keyword in the way described for that keyword. The <code>alternate</code> keyword does not create a link of its own.</p>
      </dd><dt>If the <code>alternate</code> keyword is used with the <code>type</code> attribute set to the value <code>application/rss+xml</code> or the value <code>application/atom+xml</code>
      </dt><dd>
       <p>The keyword creates a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-46">hyperlink</a> referencing a syndication feed (though not
    necessarily syndicating exactly the same content as the current page).</p>
       <div class="impl">
        <p>The first <code>link</code> or <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-57">a</a></code> element in the document (in <a data-link-type="dfn" href="infrastructure.html#tree-order" id="ref-for-tree-order-33">tree
    order</a>) with the <code>alternate</code> keyword used with the <code>type</code> attribute set to the value <code>application/rss+xml</code> or the value <code>application/atom+xml</code> must be treated as the default syndication feed for the purposes of feed autodiscovery.</p>
        <div class="example" id="example-ca255988">
         <a class="self-link" href="links.html#example-ca255988"></a> The following <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-35">link</a></code> element gives the syndication
      feed for the current page: 
<pre class="highlight"><span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">"alternate"</span> <span class="na">type=</span><span class="s">"application/atom+xml"</span> <span class="na">href=</span><span class="s">"data.xml"</span><span class="nt">&gt;</span>
</pre>
         <p>The following extract offers various different syndication
      feeds:</p>
<pre class="highlight"><span class="nt">&lt;p&gt;</span>You can access the planets database using Atom feeds:<span class="nt">&lt;/p&gt;</span>
<span class="nt">&lt;ul&gt;</span>
  <span class="nt">&lt;li&gt;&lt;a</span> <span class="na">href=</span><span class="s">"recently-visited-planets.xml"</span> <span class="na">rel=</span><span class="s">"alternate"</span> <span class="na">type=</span><span class="s">"application/atom+xml"</span><span class="nt">&gt;</span>Recently Visited Planets<span class="nt">&lt;/a&gt;&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;&lt;a</span> <span class="na">href=</span><span class="s">"known-bad-planets.xml"</span> <span class="na">rel=</span><span class="s">"alternate"</span> <span class="na">type=</span><span class="s">"application/atom+xml"</span><span class="nt">&gt;</span>Known Bad Planets<span class="nt">&lt;/a&gt;&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;&lt;a</span> <span class="na">href=</span><span class="s">"unexplored-planets.xml"</span> <span class="na">rel=</span><span class="s">"alternate"</span> <span class="na">type=</span><span class="s">"application/atom+xml"</span><span class="nt">&gt;</span>Unexplored Planets<span class="nt">&lt;/a&gt;&lt;/li&gt;</span>
<span class="nt">&lt;/ul&gt;</span>
</pre>
        </div>
       </div>
      </dd><dt>Otherwise
      </dt><dd>
       <p>The keyword creates a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-47">hyperlink</a> referencing an alternate representation of the
    current document.</p>
       <p>The nature of the referenced document is given by the <code>hreflang</code>, and <code>type</code> attributes.</p>
       <p>If the <code>alternate</code> keyword is used with the <code>hreflang</code> attribute, and that attribute’s value differs
    from the <a data-link-type="dfn" href="infrastructure.html#root-element" id="ref-for-root-element-21">root element</a>’s <a data-link-type="dfn" href="dom.html#language" id="ref-for-language-6">language</a>, it indicates that the referenced
    document is a translation.</p>
       <p>If the <code>alternate</code> keyword is used with the <code>type</code> attribute, it indicates that the referenced document is
    a reformulation of the current document in the specified format.</p>
       <p>The <code>hreflang</code> and <code>type</code> attributes can be combined when specified with the <code>alternate</code> keyword.</p>
       <div class="example" id="example-727dfb8f">
        <a class="self-link" href="links.html#example-727dfb8f"></a> For example, the following link is a French translation that uses the PDF format: 
<pre class="highlight"><span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">alternate</span> <span class="na">type=</span><span class="s">application/pdf</span> <span class="na">hreflang=</span><span class="s">fr</span> <span class="na">href=</span><span class="s">manual-fr</span><span class="nt">&gt;</span>
</pre>
       </div>
       <p>This relationship is transitive — that is, if a document links to two other documents
    with the link type "<code>alternate</code>", then, in addition to implying
    that those documents are alternative representations of the first document, it is also implying
    that those two documents are alternative representations of each other.</p>
     </dd></dl>
     <h5 class="heading settled" data-level="4.8.6.2" id="link-type-author"><span class="secno">4.8.6.2. </span><span class="content">Link type "<dfn data-dfn-for="link/type" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-type-author"><code>author</code><a class="self-link" href="links.html#attr-valuedef-link-type-author"></a></dfn>"</span><a class="self-link" href="links.html#link-type-author"></a></h5>
     <p>The <code>author</code> keyword may be used with <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-36">link</a></code>, <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-58">a</a></code>, and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-59">area</a></code> elements. This keyword creates a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-48">hyperlink</a>.</p>
     <p>For <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-59">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-60">area</a></code> elements, the <code>author</code> keyword indicates that the referenced document provides further information about the author of
  the nearest <code><a data-link-type="element" href="sections.html#elementdef-article" id="ref-for-elementdef-article-36">article</a></code> element ancestor of the element defining the hyperlink, if there
  is one, or of the page as a whole, otherwise.</p>
     <p>For <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-37">link</a></code> elements, the <code>author</code> keyword indicates
  that the referenced document provides further information about the author for the page as a
  whole.</p>
     <p class="note" role="note"> The "referenced document" can be, and often is, a <code>mailto:</code> URL giving the e-mail address of the author. <a data-link-type="biblio" href="references.html#biblio-rfc6068">[RFC6068]</a> </p>
     <div class="impl">
      <p><strong>Synonyms</strong>: For historical reasons, user agents must also treat <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-38">link</a></code>, <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-60">a</a></code>, and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-61">area</a></code> elements that have a <code><a data-link-type="element-sub" href="document-metadata.html#element-attrdef-a-rev" id="ref-for-element-attrdef-a-rev-11">rev</a></code> attribute with the value "<code>made</code>" as having the <code>author</code> keyword specified as a link relationship.</p>
     </div>
     <h5 class="heading settled" data-level="4.8.6.3" id="link-type-bookmark"><span class="secno">4.8.6.3. </span><span class="content">Link type "<dfn data-dfn-for="link/type" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-type-bookmark"><code>bookmark</code><a class="self-link" href="links.html#attr-valuedef-link-type-bookmark"></a></dfn>"</span><a class="self-link" href="links.html#link-type-bookmark"></a></h5>
     <p>The <code>bookmark</code> keyword may be used with <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-61">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-62">area</a></code> elements. This keyword creates a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-49">hyperlink</a>.</p>
     <p>The <code>bookmark</code> keyword gives a permalink for the nearest
  ancestor <code><a data-link-type="element" href="sections.html#elementdef-article" id="ref-for-elementdef-article-37">article</a></code> element of the linking element in question, or of <a data-link-type="dfn" href="sections.html#associate-section" id="ref-for-associate-section-1">the section the linking element is most closely associated with</a>, if
  there are no ancestor <code><a data-link-type="element" href="sections.html#elementdef-article" id="ref-for-elementdef-article-38">article</a></code> elements.</p>
     <div class="example" id="example-9c9186ba">
      <a class="self-link" href="links.html#example-9c9186ba"></a> The following snippet has three permalinks. A user agent could determine which permalink
    applies to which part of the spec by looking at where the permalinks are given. 
<pre class="highlight">...
 <span class="nt">&lt;body&gt;</span>
 <span class="nt">&lt;h1&gt;</span>Example of permalinks<span class="nt">&lt;/h1&gt;</span>
 <span class="nt">&lt;div</span> <span class="na">id=</span><span class="s">"a"</span><span class="nt">&gt;</span>
   <span class="nt">&lt;h2&gt;</span>First example<span class="nt">&lt;/h2&gt;</span>
   <span class="nt">&lt;p&gt;&lt;a</span> <span class="na">href=</span><span class="s">"a.html"</span> <span class="na">rel=</span><span class="s">"bookmark"</span><span class="nt">&gt;</span>This permalink applies to
   only the content from the first H2 to the second H2<span class="nt">&lt;/a&gt;</span>. The DIV isn’t
   exactly that section, but it roughly corresponds to it.<span class="nt">&lt;/p&gt;</span>
 <span class="nt">&lt;/div&gt;</span>
 <span class="nt">&lt;h2&gt;</span>Second example<span class="nt">&lt;/h2&gt;</span>
 <span class="nt">&lt;article</span> <span class="na">id=</span><span class="s">"b"</span><span class="nt">&gt;</span>
   <span class="nt">&lt;p&gt;&lt;a</span> <span class="na">href=</span><span class="s">"b.html"</span> <span class="na">rel=</span><span class="s">"bookmark"</span><span class="nt">&gt;</span>This permalink applies to
   the outer ARTICLE element<span class="nt">&lt;/a&gt;</span> (which could be, e.g., a blog post).<span class="nt">&lt;/p&gt;</span>
   <span class="nt">&lt;article</span> <span class="na">id=</span><span class="s">"c"</span><span class="nt">&gt;</span>
   <span class="nt">&lt;p&gt;&lt;a</span> <span class="na">href=</span><span class="s">"c.html"</span> <span class="na">rel=</span><span class="s">"bookmark"</span><span class="nt">&gt;</span>This permalink applies to
   the inner ARTICLE element<span class="nt">&lt;/a&gt;</span> (which could be, e.g., a blog comment).<span class="nt">&lt;/p&gt;</span>
   <span class="nt">&lt;/article&gt;</span>
 <span class="nt">&lt;/article&gt;</span>
 <span class="nt">&lt;/body&gt;</span>
 ...
</pre>
     </div>
     <h5 class="heading settled" data-level="4.8.6.4" id="link-type-help"><span class="secno">4.8.6.4. </span><span class="content">Link type "<dfn data-dfn-for="link/type" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-type-help"><code>help</code><a class="self-link" href="links.html#attr-valuedef-link-type-help"></a></dfn>"</span><a class="self-link" href="links.html#link-type-help"></a></h5>
     <p>The <code>help</code> keyword may be used with <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-39">link</a></code>, <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-62">a</a></code>, and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-63">area</a></code> elements. This keyword creates a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-50">hyperlink</a>.</p>
     <p>For <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-63">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-64">area</a></code> elements, the <code>help</code> keyword indicates that the referenced document provides further help information for the parent of
  the element defining the hyperlink, and its children.</p>
     <div class="example" id="example-091806c6">
      <a class="self-link" href="links.html#example-091806c6"></a> In the following example, the form control has associated context-sensitive help. The user
    agent could use this information, for example, displaying the referenced document if the user
    presses the "Help" or "F1" key. 
<pre class="highlight"><span class="nt">&lt;p&gt;&lt;label&gt;</span> Topic: <span class="nt">&lt;input</span> <span class="na">name=</span><span class="s">topic</span><span class="nt">&gt;</span> <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"help/topic.html"</span> <span class="na">rel=</span><span class="s">"help"</span><span class="nt">&gt;</span>(Help)<span class="nt">&lt;/a&gt;&lt;/label&gt;&lt;/p&gt;</span>
</pre>
     </div>
     <p>For <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-40">link</a></code> elements, the <code>help</code> keyword indicates that
  the referenced document provides help for the page as a whole.</p>
     <p>For <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-64">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-65">area</a></code> elements, on some browsers, the <code>help</code> keyword causes the link to use a different cursor.</p>
     <h5 class="heading settled" data-level="4.8.6.5" id="link-type-icon"><span class="secno">4.8.6.5. </span><span class="content">Link type "<dfn class="css" data-dfn-for="link/type" data-dfn-type="value" data-export="" id="valdef-link-type-icon"><code>icon</code><a class="self-link" href="links.html#valdef-link-type-icon"></a></dfn>"</span><a class="self-link" href="links.html#link-type-icon"></a></h5>
     <p>The <code>icon</code> keyword may be used with <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-41">link</a></code> elements.
  This keyword creates an <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-8">external resource link</a>.</p>
     <div class="impl">
      <p>The specified resource is an icon representing the page or site, and should be used by the user
  agent when representing the page in the user interface.</p>
     </div>
     <p>Icons could be auditory icons, visual icons, or other kinds of icons. <span class="impl">If
  multiple icons are provided, the user agent must select the most appropriate icon according to the <code>type</code>, <code>media</code>, and <code>sizes</code> attributes. If there are multiple equally appropriate icons,
  user agents must use the last one declared in <a data-link-type="dfn" href="infrastructure.html#tree-order" id="ref-for-tree-order-34">tree order</a> at the time that the user
  agent collected the list of icons. If the user agent tries to use an icon but that icon is
  determined, upon closer examination, to in fact be inappropriate (e.g., because it uses an
  unsupported format), then the user agent must try the next-most-appropriate icon as determined by
  the attributes.</span></p>
     <div class="impl">
      <p class="note" role="note"> User agents are not required to update icons when the list of icons changes, but
  are encouraged to do so. </p>
      <p>There is no default type for resources given by the <code>icon</code> keyword.
  However, for the purposes of <a data-link-type="dfn" href="document-metadata.html#determining-the-type-of-the-resource" id="ref-for-determining-the-type-of-the-resource-1">determining the type of the resource</a>, user agents must expect the resource to be an image.</p>
     </div>
     <p>The <dfn class="dfn-paneled" data-dfn-for="link" data-dfn-type="element-attr" data-export="" id="element-attrdef-link-sizes"><code>sizes</code></dfn> attribute gives the sizes of icons
  for visual media. Its value, if present, is merely advisory. User agents may use the value to
  decide which icon(s) to use if multiple icons are available.</p>
     <p>If specified, the attribute must have a value that is an <a data-link-type="dfn" href="infrastructure.html#unordered-set-of-unique-space-separated-tokens" id="ref-for-unordered-set-of-unique-space-separated-tokens-2">unordered set of unique
  space-separated tokens</a> which are <a data-link-type="dfn" href="infrastructure.html#ascii-case-insensitive" id="ref-for-ascii-case-insensitive-19">ASCII case-insensitive</a>. Each value must be
  either an <a data-link-type="dfn" href="infrastructure.html#ascii-case-insensitive" id="ref-for-ascii-case-insensitive-20">ASCII case-insensitive</a> match for the string "<code>any</code>", or a value that consists of two <a data-link-type="dfn" href="infrastructure.html#valid-non-negative-integer" id="ref-for-valid-non-negative-integer-11">valid non-negative integers</a> that do not have a leading U+0030 DIGIT
  ZERO (0) character and that are separated by a single U+0078 LATIN SMALL LETTER X or U+0058 LATIN
  CAPITAL LETTER X character.</p>
     <p>The keywords represent icon sizes in raw pixels (as opposed to CSS pixels).</p>
     <p class="note" role="note"> An icon that is 50 CSS pixels wide intended for displays with a device pixel
  density of two device pixels per CSS pixel (2x, 192dpi) would have a width of 100 raw pixels. This
  feature does not support indicating that a different resource is to be used for small
  high-resolution icons vs large low-resolution icons (e.g., 50×50 2x vs 100×100 1x). </p>
     <div class="impl">
      <p>To parse and process the attribute’s value, the user agent must first <a data-link-type="dfn" href="infrastructure.html#split-a-string-on-spaces" id="ref-for-split-a-string-on-spaces-5">split the attribute’s value on spaces</a>, and must then parse each resulting
  keyword to determine what it represents.</p>
     </div>
     <p>The <dfn data-dfn-for="link/sizes" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-sizes-any"><code>any</code><a class="self-link" href="links.html#attr-valuedef-link-sizes-any"></a></dfn> keyword represents that the
  resource contains a scalable icon, e.g., as provided by an SVG image.</p>
     <div class="impl">
      <p>Other keywords must be further parsed as follows to determine what they represent:</p>
      <ul>
       <li>If the keyword doesn’t contain exactly one U+0078 LATIN SMALL LETTER X or U+0058 LATIN
    CAPITAL LETTER X character, then this keyword doesn’t represent anything. Abort these steps for
    that keyword.
       </li><li>Let <var>width string</var> be the string before the "<code>x</code>" or
    "<code>X</code>".
       </li><li>Let <var>height string</var> be the string after the "<code>x</code>" or
    "<code>X</code>".
       </li><li>If either <var>width string</var> or <var>height string</var> start with
    a U+0030 DIGIT ZERO (0) character or contain any characters other than <a data-link-type="dfn" href="infrastructure.html#ascii-digits" id="ref-for-ascii-digits-69">ASCII digits</a>,
    then this keyword doesn’t represent anything. Abort these steps for that keyword.
       </li><li>Apply the <a data-link-type="dfn" href="infrastructure.html#parse-that-attributes-value" id="ref-for-parse-that-attributes-value-7">rules for parsing non-negative integers</a> to <var>width
    string</var> to obtain <var>width</var>.
       </li><li>Apply the <a data-link-type="dfn" href="infrastructure.html#parse-that-attributes-value" id="ref-for-parse-that-attributes-value-8">rules for parsing non-negative integers</a> to <var>height
    string</var> to obtain <var>height</var>.
       </li><li>The keyword represents that the resource contains a bitmap icon with a width of <var>width</var> device pixels and a height of <var>height</var> device
    pixels.
      </li></ul>
     </div>
     <p>The keywords specified on the <code>sizes</code> attribute must not
  represent icon sizes that are not actually available in the linked resource.</p>
     <div class="impl">
      <p>In the absence of a <code>link</code> with the <code>icon</code> keyword, for <code class="idl"><a data-link-type="idl" href="https://www.w3.org/TR/dom/#document">Document</a></code> objects obtained over HTTP or HTTPS, user agents may instead run these
  steps <a data-link-type="dfn" href="infrastructure.html#in-parallel" id="ref-for-in-parallel-20">in parallel</a>:</p>
      <ol>
       <li>Let <var>request</var> be a new <a data-link-type="dfn" href="https://fetch.spec.whatwg.org/#concept-request">request</a> whose <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> is the <a data-link-type="dfn" href="https://url.spec.whatwg.org/#syntax-url-absolute">absolute URL</a> obtained by
    resolving the <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> "<code>/favicon.ico</code>" against <a data-link-type="dfn" href="dom.html#the-document-address" id="ref-for-the-document-address-13">the document’s
    address</a>, <a data-link-type="dfn" href="https://fetch.spec.whatwg.org/#concept-request-client">client</a> is the <code class="idl"><a data-link-type="idl" href="https://www.w3.org/TR/dom/#document">Document</a></code> object’s <code>Window</code> object’s <a data-link-type="dfn" href="webappapis.html#environment-settings-object" id="ref-for-environment-settings-object-9">environment settings object</a>, <a data-link-type="dfn" href="https://fetch.spec.whatwg.org/#concept-request-type">type</a> is "<code>image</code>", <a data-link-type="dfn" href="https://fetch.spec.whatwg.org/#concept-request-destination">destination</a> is "<code>subresource</code>", <a data-link-type="dfn" href="https://fetch.spec.whatwg.org/#synchronous-flag">synchronous flag</a> is set, <a data-link-type="dfn" href="https://fetch.spec.whatwg.org/#concept-request-credentials-mode">credentials
    mode</a> is "<code>include</code>", and whose <a data-link-type="dfn" href="https://fetch.spec.whatwg.org/#concept-request-use-url-credentials-flag">use-URL-credentials flag</a> is set.
       </li><li>Let <var>response</var> be the result of <a data-link-type="dfn" href="https://fetch.spec.whatwg.org/#concept-fetch">fetching</a> <var>request</var>.
       </li><li>Use <var>response</var>’s unsafe response as an icon as if it had been
    declared using the <code>icon</code> keyword.
      </li></ol>
     </div>
     <div class="example" id="example-d548df0e">
      <a class="self-link" href="links.html#example-d548df0e"></a> The following snippet shows the top part of an application with several icons. 
<pre class="highlight"><span class="cp">&lt;!DOCTYPE HTML&gt;</span>
<span class="nt">&lt;html&gt;</span>
  <span class="nt">&lt;head&gt;</span>
  <span class="nt">&lt;title&gt;</span>lsForums — Inbox<span class="nt">&lt;/title&gt;</span>
  <span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">icon</span> <span class="na">href=</span><span class="s">favicon.png</span> <span class="na">sizes=</span><span class="s">"16x16"</span> <span class="na">type=</span><span class="s">"image/png"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">icon</span> <span class="na">href=</span><span class="s">windows.ico</span> <span class="na">sizes=</span><span class="s">"32x32 48x48"</span> <span class="na">type=</span><span class="s">"image/vnd.microsoft.icon"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">icon</span> <span class="na">href=</span><span class="s">mac.icns</span> <span class="na">sizes=</span><span class="s">"128x128 512x512 8192x8192 32768x32768"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">icon</span> <span class="na">href=</span><span class="s">iphone.png</span> <span class="na">sizes=</span><span class="s">"57x57"</span> <span class="na">type=</span><span class="s">"image/png"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">icon</span> <span class="na">href=</span><span class="s">gnome.svg</span> <span class="na">sizes=</span><span class="s">"any"</span> <span class="na">type=</span><span class="s">"image/svg+xml"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">stylesheet</span> <span class="na">href=</span><span class="s">lsforums.css</span><span class="nt">&gt;</span>
  <span class="nt">&lt;script </span><span class="na">src=</span><span class="s">lsforums.js</span><span class="nt">&gt;&lt;/script&gt;</span>
  <span class="nt">&lt;meta</span> <span class="na">name=</span><span class="s">application-name</span> <span class="na">content=</span><span class="s">"lsForums"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;/head&gt;</span>
  <span class="nt">&lt;body&gt;</span>
  ...
</pre>
     </div>
     <p>For historical reasons, the <code>icon</code> keyword may be preceded by the
  keyword "<code>shortcut</code>". If the "<code>shortcut</code>" keyword is
  present, the <code><a data-link-type="element-sub" href="document-metadata.html#element-attrdef-link-rel" id="ref-for-element-attrdef-link-rel-21">rel</a></code> attribute’s entire value must be an <a data-link-type="dfn" href="infrastructure.html#ascii-case-insensitive" id="ref-for-ascii-case-insensitive-21">ASCII case-insensitive</a> match for the string "<code>shortcut&nbsp;icon</code>" (with a single U+0020 SPACE character between the tokens and
  no other <a data-link-type="dfn" href="infrastructure.html#space-characters" id="ref-for-space-characters-53">space characters</a>).</p>
     <h5 class="heading settled" data-level="4.8.6.6" id="link-type-license"><span class="secno">4.8.6.6. </span><span class="content">Link type "<dfn data-dfn-for="link/type" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-type-license"><code>license</code><a class="self-link" href="links.html#attr-valuedef-link-type-license"></a></dfn>"</span><a class="self-link" href="links.html#link-type-license"></a></h5>
     <p>The <code>license</code> keyword may be used with <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-42">link</a></code>, <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-65">a</a></code>, and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-66">area</a></code> elements. This keyword creates a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-51">hyperlink</a>.</p>
     <p>The <code>license</code> keyword indicates that the referenced document
  provides the copyright license terms under which the main content of the current document is
  provided.</p>
     <p>This specification defines the main content of a document and content that
  is not deemed to be part of that main content via the <code><a data-link-type="element" href="grouping-content.html#elementdef-main" id="ref-for-elementdef-main-28">main</a></code> element.
  The distinction should be made clear to the user.</p>
     <div class="example" id="example-a422f578">
      <a class="self-link" href="links.html#example-a422f578"></a> Consider a photo sharing site. A page on that site might
    describe and show a photograph, and the page might be marked up as
    follows: 
<pre class="highlight"><span class="cp">&lt;!DOCTYPE HTML&gt;</span>
<span class="nt">&lt;html&gt;</span>
  <span class="nt">&lt;head&gt;</span>
  <span class="nt">&lt;title&gt;</span>Exampl Pictures: Kissat<span class="nt">&lt;/title&gt;</span>
  <span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">"stylesheet"</span> <span class="na">href=</span><span class="s">"/style/default"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;/head&gt;</span>
  <span class="nt">&lt;body&gt;</span>
  <span class="nt">&lt;h1&gt;</span>Kissat<span class="nt">&lt;/h1&gt;</span>
  <span class="nt">&lt;nav&gt;</span>
    <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"../"</span><span class="nt">&gt;</span>Return to photo index<span class="nt">&lt;/a&gt;</span>
  <span class="nt">&lt;/nav&gt;</span>

  <span class="nt">&lt;main&gt;</span>
  <span class="nt">&lt;figure&gt;</span>
    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"/pix/39627052_fd8dcd98b5.jpg"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;figcaption&gt;</span>Kissat<span class="nt">&lt;/figcaption&gt;</span>
  <span class="nt">&lt;/figure&gt;</span>
  <span class="nt">&lt;p&gt;</span>One of them has six toes!<span class="nt">&lt;/p&gt;</span>
  <span class="nt">&lt;p&gt;&lt;small&gt;</span>This photograph is <span class="nt">&lt;a</span> <span class="na">rel=</span><span class="s">"license"</span> <span class="na">href=</span><span class="s">"https://www.opensource.org/licenses/mit-license.php"</span><span class="nt">&gt;</span>MIT Licensed<span class="nt">&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</span>
  <span class="nt">&lt;/main&gt;</span>
  <span class="nt">&lt;footer&gt;</span>
    <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"/"</span><span class="nt">&gt;</span>Home<span class="nt">&lt;/a&gt;</span> | <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"../"</span><span class="nt">&gt;</span>Photo index<span class="nt">&lt;/a&gt;</span>
    <span class="nt">&lt;p&gt;&lt;small&gt;</span>© copyright 2009 Exampl Pictures. All Rights Reserved.<span class="nt">&lt;/small&gt;&lt;/p&gt;</span>
  <span class="nt">&lt;/footer&gt;</span>
  <span class="nt">&lt;/body&gt;</span>
<span class="nt">&lt;/html&gt;</span>
</pre>
      <p>In this case the <code>license</code> applies to just the photo (the main content of the document), not
    the whole document. In particular not the design of the page
    itself, which is covered by the copyright given at the bottom of
    the document. This should be made clear in the text referencing the licensing
    link and could also be made clearer in the styling
    (e.g., making the license link prominently positioned near the
    photograph, while having the page copyright in small text at
    the foot of the page, or adding a border to the <code><a data-link-type="element" href="grouping-content.html#elementdef-main" id="ref-for-elementdef-main-29">main</a></code> element.)</p>
     </div>
     <div class="impl">
      <p><strong>Synonyms</strong>: For historical reasons, user agents must also treat the keyword
  "<code>copyright</code>" like the <code>license</code> keyword.</p>
     </div>
     <h5 class="heading settled" data-level="4.8.6.7" id="link-type-nofollow"><span class="secno">4.8.6.7. </span><span class="content">Link type "<dfn data-dfn-for="link/type" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-type-nofollow"><code>nofollow</code><a class="self-link" href="links.html#attr-valuedef-link-type-nofollow"></a></dfn>"</span><a class="self-link" href="links.html#link-type-nofollow"></a></h5>
     <p>The <code>nofollow</code> keyword may be used with <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-66">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-67">area</a></code> elements. This keyword does not create a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-52">hyperlink</a>, but <a data-link-type="dfn" href="links.html#annotates" id="ref-for-annotates-1">annotates</a> any other hyperlinks created by the element (the
  implied hyperlink, if no other keywords create one).</p>
     <p>The <code>nofollow</code> keyword indicates that the link is not endorsed
  by the original author or publisher of the page, or that the link to the referenced document was
  included primarily because of a commercial relationship between people affiliated with the two
  pages.</p>
     <h5 class="heading settled" data-level="4.8.6.8" id="link-type-noreferrer"><span class="secno">4.8.6.8. </span><span class="content">Link type "<dfn data-dfn-for="link/type" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-type-noreferrer"><code>noreferrer</code><a class="self-link" href="links.html#attr-valuedef-link-type-noreferrer"></a></dfn>"</span><a class="self-link" href="links.html#link-type-noreferrer"></a></h5>
     <p>The <code>noreferrer</code> keyword may be used with <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-67">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-68">area</a></code> elements. This keyword does not create a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-53">hyperlink</a>, but <a data-link-type="dfn" href="links.html#annotates" id="ref-for-annotates-2">annotates</a> any other hyperlinks created by the element (the
  implied hyperlink, if no other keywords create one).</p>
     <p>It indicates that no referrer information is to be leaked when following the link.</p>
     <div class="impl">
      <p>If a user agent follows a link defined by an <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-68">a</a></code> or <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-69">area</a></code> element that
  has the <code>noreferrer</code> keyword, the user agent must set their <a data-link-type="dfn" href="https://fetch.spec.whatwg.org/#concept-request">request</a>’s <a data-link-type="dfn" href="https://fetch.spec.whatwg.org/#concept-request-referrer">referrer</a> to "<code>no-referrer</code>".</p>
      <p>This keyword also <a data-link-type="dfn" href="browsers.html#causes-the-opener-attribute-to-remain-null" id="ref-for-causes-the-opener-attribute-to-remain-null-1">causes the <code>opener</code> attribute to remain null</a> if the hyperlink creates a new <a data-link-type="dfn" href="browsers.html#browsing-context" id="ref-for-browsing-context-61">browsing context</a>.</p>
     </div>
     <h5 class="heading settled" data-level="4.8.6.9" id="link-type-search"><span class="secno">4.8.6.9. </span><span class="content">Link type "<dfn data-dfn-for="link/type" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-type-search"><code>search</code><a class="self-link" href="links.html#attr-valuedef-link-type-search"></a></dfn>"</span><a class="self-link" href="links.html#link-type-search"></a></h5>
     <p>The <code>search</code> keyword may be used with <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-43">link</a></code>, <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-69">a</a></code>, and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-70">area</a></code> elements. This keyword creates a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-54">hyperlink</a>.</p>
     <p>The <code>search</code> keyword indicates that the referenced document
  provides an interface specifically for searching the document and its related resources.</p>
     <p class="note" role="note"> OpenSearch description documents can be used with <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-44">link</a></code> elements and
  the <code>search</code> link type to enable user agents to autodiscover search
  interfaces. <a data-link-type="biblio" href="references.html#biblio-opensearch">[OPENSEARCH]</a> </p>
     <h5 class="heading settled" data-level="4.8.6.10" id="link-type-stylesheet"><span class="secno">4.8.6.10. </span><span class="content">Link type "<dfn data-dfn-for="link/type" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-type-stylesheet"><code>stylesheet</code><a class="self-link" href="links.html#attr-valuedef-link-type-stylesheet"></a></dfn>"</span><a class="self-link" href="links.html#link-type-stylesheet"></a></h5>
     <p>The <code>stylesheet</code> keyword may be used with <code>link</code> elements. This keyword creates an <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-9">external resource
  link</a> that contributes to the styling processing model.</p>
     <p>The specified resource is a resource that describes how to present the document. Exactly how
  the resource is to be processed depends on the actual type of the resource.</p>
     <p>If the <code>alternate</code> keyword is also specified on the <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-45">link</a></code> element, then <dfn class="dfn-paneled" data-dfn-type="dfn" data-lt="an alternative stylesheet|the link is an alternative stylesheet" data-noexport="" id="an-alternative-stylesheet">the link is an alternative stylesheet</dfn>; in this case,
  the <code>title</code> attribute must be specified on the <code>link</code> element, with a non-empty value.</p>
     <p>The default type for resources given by the <code>stylesheet</code> keyword is <code>text/css</code>.</p>
     <div class="impl">
       The appropriate times to <a data-link-type="dfn" href="document-metadata.html#obtain" id="ref-for-obtain-5">obtain</a> the resource are: 
      <ul>
       <li data-md="">
        <p>When the <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-10">external resource link</a> is created on a <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-46">link</a></code> element that is
already <a data-link-type="dfn" href="infrastructure.html#in-the-document" id="ref-for-in-the-document-9">in a <code>Document</code></a>.</p>
       </li><li data-md="">
        <p>When the <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-11">external resource link</a>’s <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-47">link</a></code> element is <a data-link-type="dfn" href="infrastructure.html#document-inserted-into-the-document" id="ref-for-document-inserted-into-the-document-9">inserted into a document</a>.</p>
       </li><li data-md="">
        <p>When the <code><a data-link-type="element-sub" href="document-metadata.html#element-attrdef-link-href" id="ref-for-element-attrdef-link-href-5">href</a></code> attribute of the <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-48">link</a></code> element of an <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-12">external resource link</a> that is already <a data-link-type="dfn" href="infrastructure.html#in-the-document" id="ref-for-in-the-document-10">in a <code>Document</code></a> is changed.</p>
       </li><li data-md="">
        <p>When the <code>crossorigin</code> attribute of the <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-49">link</a></code> element of an <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-13">external resource link</a> that is already <a data-link-type="dfn" href="infrastructure.html#in-the-document" id="ref-for-in-the-document-11">in a <code>Document</code></a> is set,
changed, or removed.</p>
       </li><li data-md="">
        <p>When the <code>type</code> attribute of the <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-50">link</a></code> element of an <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-14">external resource link</a> that is already <a data-link-type="dfn" href="infrastructure.html#in-the-document" id="ref-for-in-the-document-12">in a <code>Document</code></a> is set or
changed to a value that does not or no longer matches the <a data-link-type="dfn" href="infrastructure.html#content-type-metadata" id="ref-for-content-type-metadata-27">Content-Type metadata</a> of
the previous obtained external resource, if any.</p>
       </li><li data-md="">
        <p>When the <code>type</code> attribute of the <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-51">link</a></code> element of an <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-15">external resource link</a> that is already <a data-link-type="dfn" href="infrastructure.html#in-the-document" id="ref-for-in-the-document-13">in a <code>Document</code></a> but was
previously not obtained due to the <code>type</code> attribute specifying an unsupported
type is set, removed, or changed.</p>
       </li><li data-md="">
        <p>When the <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-16">external resource link</a> changes from being <a data-link-type="dfn" href="links.html#an-alternative-stylesheet" id="ref-for-an-alternative-stylesheet-1">an alternative stylesheet</a> to
not being one, or vice versa.</p>
      </li></ul>
      <p><strong>Quirk</strong>: If the document has been set to <a data-link-type="dfn" href="infrastructure.html#quirks-mode" id="ref-for-quirks-mode-2">quirks mode</a>, has the <a data-link-type="dfn" href="browsers.html#same-origin" id="ref-for-same-origin-11">same origin</a> as the <a data-link-type="dfn" href="https://url.spec.whatwg.org/#concept-url-url">URL</a> of the external resource,
    and the <a data-link-type="dfn" href="infrastructure.html#content-type-metadata" id="ref-for-content-type-metadata-28">Content-Type metadata</a> of the external resource is not a
    supported style sheet type, the user agent must instead assume it to be <code>text/css</code>.</p>
      <p>Once a resource has been <a data-link-type="dfn" href="document-metadata.html#obtain" id="ref-for-obtain-6">obtained</a>, if its <a data-link-type="dfn" href="infrastructure.html#content-type-metadata" id="ref-for-content-type-metadata-29">Content-Type metadata</a> is <code>text/css</code>, the user
    agent must run these steps:</p>
      <ol>
       <li data-md="">
        <p>Let <var>element</var> be the <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-52">link</a></code> element that created the <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-17">external resource link</a>.</p>
       </li><li data-md="">
        <p>If <var>element</var> has an <a data-link-type="dfn" href="https://www.w3.org/TR/cssom-1/#associated-css-style-sheet">associated CSS style sheet</a>, <a data-link-type="dfn" href="https://www.w3.org/TR/cssom-1/#remove-a-css-style-sheet">remove the CSS style sheet</a> in question.</p>
       </li><li data-md="">
        <p>If <var>element</var> no longer creates an <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-18">external resource link</a> that contributes to the styling processing model, or if, since the resource in question was <a data-link-type="dfn" href="document-metadata.html#obtain" id="ref-for-obtain-7">obtained</a>, it has become appropriate to <a data-link-type="dfn" href="document-metadata.html#obtain" id="ref-for-obtain-8">obtain</a> it again (meaning this algorithm
is about to be invoked again for a newly obtained resource), then abort these steps.</p>
       </li><li data-md="">
        <p><a data-link-type="dfn" href="https://www.w3.org/TR/cssom-1/#create-a-css-style-sheet">Create a CSS style sheet</a> with the following properties:</p>
        <dl>
         <dt data-md="">
          <p><code><a data-link-type="element-sub" href="document-metadata.html#element-attrdef-style-type" id="ref-for-element-attrdef-style-type-3">type</a></code></p>
         </dt><dd data-md="">
          <p><code>text/css</code></p>
         </dd><dt data-md="">
          <p><a data-link-type="dfn" href="https://www.w3.org/TR/cssom-1/#concept-css-style-sheet-location">location</a></p>
         </dt><dd data-md="">
          <p>The <a data-link-type="dfn" href="infrastructure.html#resulting-url-string" id="ref-for-resulting-url-string-12">resulting URL string</a> determined during the <a data-link-type="dfn" href="document-metadata.html#obtain" id="ref-for-obtain-9">obtain</a> algorithm.</p>
          <p class="note" role="note">This is before any redirects get applied.</p>
         </dd><dt data-md="">
          <p><a data-link-type="dfn" href="https://drafts.csswg.org/cssom/#dom-stylesheet-ownernode">owner node</a></p>
         </dt><dd data-md="">
          <p><var>element</var></p>
         </dd><dt data-md="">
          <p><a data-link-type="dfn" href="https://www.w3.org/TR/cssom-1/#concept-css-style-sheet-media">media</a></p>
         </dt><dd data-md="">
          <p>The <code>media</code> attribute of <var>element</var>.</p>
          <p class="note" role="note"> This is a reference to the (possibly absent at this time) attribute, rather than a copy
  of the attribute’s current value. The CSSOM specification defines what happens  when the
  attribute is dynamically set, changed, or removed. </p>
         </dd><dt data-md="">
          <p><a data-link-type="dfn" href="https://drafts.csswg.org/cssom/#dom-stylesheet-title">title</a></p>
         </dt><dd data-md="">
          <p>The <code>title</code> attribute of <var>element</var>.</p>
          <p class="note" role="note"> This is similarly a reference to the attribute, rather than a copy of the attribute’s
  current value. </p>
         </dd><dt data-md="">
          <p><a data-link-type="dfn" href="https://drafts.csswg.org/cssom/#concept-css-style-sheet-alternate-flag">alternate flag</a></p>
         </dt><dd data-md="">
          <p>Set if <a data-link-type="dfn" href="links.html#an-alternative-stylesheet" id="ref-for-an-alternative-stylesheet-2">the link is an alternative stylesheet</a>; unset otherwise.</p>
         </dd><dt data-md="">
          <p><a data-link-type="dfn" href="https://drafts.csswg.org/cssom/#concept-css-style-sheet-origin-clean-flag">origin-clean flag</a></p>
         </dt><dd data-md="">
          <p>Set if the resource is <a data-link-type="dfn" href="browsers.html#same-origin" id="ref-for-same-origin-12">CORS-same-origin</a>; unset otherwise.</p>
         </dd><dt data-md="">
          <p><a data-link-type="dfn" href="https://drafts.csswg.org/cssom/#dom-stylesheet-parentstylesheet">parent CSS style sheet</a></p>
         </dt><dt data-md="">
          <p><a data-link-type="dfn" href="https://drafts.csswg.org/cssom/#dom-cssstylesheet-ownerrule">owner CSS rule</a></p>
         </dt><dd data-md="">
          <p>null</p>
         </dd><dt data-md="">
          <p><a data-link-type="dfn" href="https://drafts.csswg.org/cssom/#concept-css-style-sheet-disabled-flag">disabled flag</a></p>
         </dt><dd data-md="">
          <p>Left at its default value.</p>
         </dd><dt data-md="">
          <p><a data-link-type="dfn" href="https://drafts.csswg.org/cssom/#concept-css-style-sheet-css-rules">CSS rules</a></p>
         </dt><dd data-md="">
          <p>Left uninitialized.</p>
        </dd></dl>
        <p>The CSS <a data-link-type="dfn" href="https://www.w3.org/TR/css3-syntax/#environment-encoding">environment encoding</a> is the result of running the following steps: <a data-link-type="biblio" href="references.html#biblio-css-syntax-3">[CSS-SYNTAX-3]</a></p>
        <ol>
         <li data-md="">
          <p>If the element has a <code>charset</code> attribute, <a data-link-type="dfn" href="https://www.w3.org/TR/css-syntax-3/#get-an-encoding">get an encoding</a> from that
attribute’s value. If that succeeds, return the resulting encoding and abort these steps. <a data-link-type="biblio" href="references.html#biblio-encoding">[ENCODING]</a></p>
         </li><li data-md="">
          <p>Otherwise, return the <a data-link-type="dfn" href="https://www.w3.org/TR/dom/#concept-document-encoding">document’s character encoding</a>. <a data-link-type="biblio" href="references.html#biblio-dom">[DOM]</a></p>
        </li></ol>
      </li></ol>
     </div>
     <h5 class="heading settled" data-level="4.8.6.11" id="link-type-tag"><span class="secno">4.8.6.11. </span><span class="content">Link type "<dfn data-dfn-for="link/type" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-type-tag"><code>tag</code><a class="self-link" href="links.html#attr-valuedef-link-type-tag"></a></dfn>"</span><a class="self-link" href="links.html#link-type-tag"></a></h5>
     <p>The <code>tag</code> keyword may be used with <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-70">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-71">area</a></code> elements. This keyword creates a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-55">hyperlink</a>.</p>
     <p>The <code>tag</code> keyword indicates that the <em>tag</em> that the
  referenced document represents applies to the current document.</p>
     <p class="note" role="note"> Since it indicates that the tag <em>applies to the current document</em>, it would
  be inappropriate to use this keyword in the markup of a <a data-link-type="dfn" href="common-idioms-without-dedicated-elements.html#tag-clouds" id="ref-for-tag-clouds-1">tag cloud</a>, which
  lists the popular tags across a set of pages. </p>
     <div class="example" id="example-dd2fefe8">
      <a class="self-link" href="links.html#example-dd2fefe8"></a> This document is about some gems, and so it is <i>tagged</i> with
    "<code>https://en.wikipedia.org/wiki/Gemstone</code>" to unambiguously categorize it as applying
    to the "jewel" kind of gems, and not to, say, the towns in the US, the Ruby package format, or
    the Swiss locomotive class: 
<pre class="highlight"><span class="cp">&lt;!DOCTYPE HTML&gt;</span>
<span class="nt">&lt;html&gt;</span>
  <span class="nt">&lt;head&gt;</span>
  <span class="nt">&lt;title&gt;</span>My Precious<span class="nt">&lt;/title&gt;</span>
  <span class="nt">&lt;/head&gt;</span>
  <span class="nt">&lt;body&gt;</span>
  <span class="nt">&lt;header&gt;&lt;h1&gt;</span>My precious<span class="nt">&lt;/h1&gt;</span> <span class="nt">&lt;p&gt;</span>Summer 2012<span class="nt">&lt;/p&gt;&lt;/header&gt;</span>
  <span class="nt">&lt;p&gt;</span>Recently I managed to dispose of a red gem that had been
  bothering me. I now have a much nicer blue sapphire.<span class="nt">&lt;/p&gt;</span>
  <span class="nt">&lt;p&gt;</span>The red gem had been found in a bauxite stone while I was digging
  out the office level, but nobody was willing to haul it away. The
  same red gem stayed there for literally years.<span class="nt">&lt;/p&gt;</span>
  <span class="nt">&lt;footer&gt;</span>
    Tags: <span class="nt">&lt;a</span> <span class="na">rel=</span><span class="s">tag</span> <span class="na">href=</span><span class="s">"https://en.wikipedia.org/wiki/Gemstone"</span><span class="nt">&gt;</span>Gemstone<span class="nt">&lt;/a&gt;</span>
  <span class="nt">&lt;/footer&gt;</span>
  <span class="nt">&lt;/body&gt;</span>
<span class="nt">&lt;/html&gt;</span>
</pre>
     </div>
     <div class="example" id="example-e6af496e">
      <a class="self-link" href="links.html#example-e6af496e"></a> In <em>this</em> document, there are two articles. The "<code>tag</code>" link, however, applies
    to the whole page (and would do so wherever it was placed, including if it was within the <code><a data-link-type="element" href="sections.html#elementdef-article" id="ref-for-elementdef-article-39">article</a></code> elements). 
<pre class="highlight"><span class="cp">&lt;!DOCTYPE HTML&gt;</span>
<span class="nt">&lt;html&gt;</span>
  <span class="nt">&lt;head&gt;</span>
  <span class="nt">&lt;title&gt;</span>Gem 4/4<span class="nt">&lt;/title&gt;</span>
  <span class="nt">&lt;/head&gt;</span>
  <span class="nt">&lt;body&gt;</span>
  <span class="nt">&lt;article&gt;</span>
    <span class="nt">&lt;h1&gt;</span>801: Steinbock<span class="nt">&lt;/h1&gt;</span>
    <span class="nt">&lt;p&gt;</span>The number 801 Gem 4/4 electro-diesel has an ibex and was rebuilt in 2002.<span class="nt">&lt;/p&gt;</span>
  <span class="nt">&lt;/article&gt;</span>
  <span class="nt">&lt;article&gt;</span>
    <span class="nt">&lt;h1&gt;</span>802: Murmeltier<span class="nt">&lt;/h1&gt;</span>
    <span class="nt">&lt;figure&gt;</span>
    <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"https://upload.wikimedia.org/wikipedia/commons/b/b0/Trains_de_la_Bernina_en_hiver_2.jpg"</span>
          <span class="na">alt=</span><span class="s">"The 802 was red with pantographs and tall vents on the side."</span><span class="nt">&gt;</span>
    <span class="nt">&lt;figcaption&gt;</span>The 802 in the 1980s, above Lago Bianco.<span class="nt">&lt;/figcaption&gt;</span>
    <span class="nt">&lt;/figure&gt;</span>
    <span class="nt">&lt;p&gt;</span>The number 802 Gem 4/4 electro-diesel has a marmot and was rebuilt in 2003.<span class="nt">&lt;/p&gt;</span>
  <span class="nt">&lt;/article&gt;</span>
  <span class="nt">&lt;p</span> <span class="na">class=</span><span class="s">"topic"</span><span class="nt">&gt;&lt;a</span> <span class="na">rel=</span><span class="s">tag</span> <span class="na">href=</span><span class="s">"https://en.wikipedia.org/wiki/Rhaetian_Railway_Gem_4/4"</span><span class="nt">&gt;</span>Gem 4/4<span class="nt">&lt;/a&gt;&lt;/p&gt;</span>
  <span class="nt">&lt;/body&gt;</span>
<span class="nt">&lt;/html&gt;</span>
</pre>
     </div>
     <h5 class="heading settled" data-level="4.8.6.12" id="sequential-link-types"><span class="secno">4.8.6.12. </span><span class="content">Sequential link types</span><a class="self-link" href="links.html#sequential-link-types"></a></h5>
     <p>Some documents form part of a sequence of documents.</p>
     <p>A sequence of documents is one where each document can have a <em>previous sibling</em> and a <em>next sibling</em>. A document with no previous sibling is the start of its sequence, a
  document with no next sibling is the end of its sequence.</p>
     <p>A document may be part of multiple sequences.</p>
     <h6 class="heading settled" data-level="4.8.6.12.1" id="link-type-next"><span class="secno">4.8.6.12.1. </span><span class="content">Link type "<dfn data-dfn-for="link/type" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-type-next"><code>next</code><a class="self-link" href="links.html#attr-valuedef-link-type-next"></a></dfn>"</span><a class="self-link" href="links.html#link-type-next"></a></h6>
     <p>The <code>next</code> keyword may be used with <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-53">link</a></code>, <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-71">a</a></code>, and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-72">area</a></code> elements. This keyword creates a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-56">hyperlink</a>.</p>
     <p>The <code>next</code> keyword indicates that the document is part of a
  sequence, and that the link is leading to the document that is the next logical document in the
  sequence.</p>
     <h6 class="heading settled" data-level="4.8.6.12.2" id="link-type-prev"><span class="secno">4.8.6.12.2. </span><span class="content">Link type "<dfn data-dfn-for="link/type" data-dfn-type="attr-value" data-export="" id="attr-valuedef-link-type-prev"><code>prev</code><a class="self-link" href="links.html#attr-valuedef-link-type-prev"></a></dfn>"</span><a class="self-link" href="links.html#link-type-prev"></a></h6>
     <p>The <code>prev</code> keyword may be used with <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-54">link</a></code>, <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-72">a</a></code>, and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-73">area</a></code> elements. This keyword creates a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-57">hyperlink</a>.</p>
     <p>The <code>prev</code> keyword indicates that the document is part of a
  sequence, and that the link is leading to the document that is the previous logical document in
  the sequence.</p>
     <div class="impl"> <strong>Synonyms</strong>: For historical reasons, user agents must also treat the keyword
  "<code>previous</code>" like the <code>prev</code> keyword. </div>
     <h5 class="heading settled" data-level="4.8.6.13" id="sec-other-link-types"><span class="secno">4.8.6.13. </span><span class="content"><dfn class="dfn-paneled" data-dfn-type="dfn" data-noexport="" id="other-link-types">Other link types</dfn></span><a class="self-link" href="links.html#sec-other-link-types"></a></h5>
     <p><dfn class="dfn-paneled" data-dfn-for="link types" data-dfn-type="dfn" data-lt="extensions to the predefined set of link type|extensions to the predefined set of link types" data-noexport="" id="link-types-extensions-to-the-predefined-set-of-link-type">Extensions to the predefined set of link types</dfn> may be registered in the <a data-link-type="dfn" href="http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions">microformats wiki existing-rel-values page</a>. <a data-link-type="biblio" href="references.html#biblio-mfrel">[MFREL]</a></p>
     <p>Anyone is free to edit the <a data-link-type="dfn" href="http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions">microformats wiki existing-rel-values page</a> at
  any time to add a type. Extension types must be specified with the following information:</p>
     <dl>
      <dt>Keyword
      </dt><dd>
       <p>The actual value being defined. The value should not be confusingly similar to any other
    defined value (e.g., differing only in case).</p>
       <p>If the value contains a U+003A COLON character (:), it must also be an <a data-link-type="dfn" href="https://url.spec.whatwg.org/#syntax-url-absolute">absolute URL</a>.</p>
      </dd><dt>Effect on... <code>link</code>
      </dt><dd>
       <p>One of the following:</p>
       <dl>
        <dt>Not allowed
        </dt><dd>The keyword must not be specified on <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-55">link</a></code> elements.
        </dd><dt>Hyperlink
        </dt><dd>The keyword may be specified on a <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-56">link</a></code> element; it creates a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-58">hyperlink</a>.
        </dd><dt>External Resource
        </dt><dd>The keyword may be specified on a <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-57">link</a></code> element; it creates an <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-19">external
      resource link</a>.
       </dd></dl>
      </dd><dt>Effect on... <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-73">a</a></code> and <code>area</code>
      </dt><dd>
       <p>One of the following:</p>
       <dl>
        <dt>Not allowed
        </dt><dd>The keyword must not be specified on <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-74">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-74">area</a></code> elements.
        </dd><dt>Hyperlink
        </dt><dd>The keyword may be specified on <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-75">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-75">area</a></code> elements; it creates a <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-59">hyperlink</a>.
        </dd><dt>External Resource
        </dt><dd>The keyword may be specified on <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-76">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-76">area</a></code> elements; it creates
      an <a data-link-type="dfn" href="links.html#external-resource-link" id="ref-for-external-resource-link-20">external resource link</a>.
        </dd><dt>Hyperlink Annotation
        </dt><dd>The keyword may be specified on <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-77">a</a></code> and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-77">area</a></code> elements; it <a data-link-type="dfn" href="links.html#annotates" id="ref-for-annotates-3">annotates</a> other <a data-link-type="dfn" href="links.html#hyperlink" id="ref-for-hyperlink-60">hyperlinks</a> created by the element.
       </dd></dl>
      </dd><dt>Brief description
      </dt><dd>A short non-normative description of what the keyword’s meaning is.
      </dd><dt>Specification
      </dt><dd>A link to a more detailed description of the keyword’s semantics and requirements. It
    could be another page on the Wiki, or a link to an external page.
      </dd><dt>Synonyms
      </dt><dd>A list of other keyword values that have exactly the same processing requirements. Authors
    should not use the values defined to be synonyms, they are only intended to allow user agents to
    support legacy content. Anyone may remove synonyms that are not used in practice; only names that
    need to be processed as synonyms for compatibility with legacy content are to be registered in
    this way.
      </dd><dt>Status
      </dt><dd>
       <p>One of the following:</p>
       <dl>
        <dt>Proposed
        </dt><dd>The keyword has not received wide peer review and approval. Someone has proposed it and is,
      or soon will be, using it.
        </dd><dt>Ratified
        </dt><dd>The keyword has received wide peer review and approval. It has a specification that
      unambiguously defines how to handle pages that use the keyword, including when they use it in
      incorrect ways.
        </dd><dt>Discontinued
        </dt><dd>The keyword has received wide peer review and it has been found wanting. Existing pages are
      using this keyword, but new pages should avoid it. The "brief description" and "specification"
      entries will give details of what authors should use instead, if anything.
       </dd></dl>
       <p>If a keyword is found to be redundant with existing values, it should be removed and listed
    as a synonym for the existing value.</p>
       <p>If a keyword is registered in the "proposed" state for a period of a month or more without
    being used or specified, then it may be removed from the registry.</p>
       <p>If a keyword is added with the "proposed" status and found to be redundant with existing
    values, it should be removed and listed as a synonym for the existing value. If a keyword is
    added with the "proposed" status and found to be harmful, then it should be changed to
    "discontinued" status.</p>
       <p>Anyone can change the status at any time, but should only do so in accordance with the
    definitions above.</p>
     </dd></dl>
     <div class="impl">
      <p>Conformance checkers may use the information given on the <a data-link-type="dfn" href="http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions">microformats wiki existing-rel-values page</a> to
  establish if a value is allowed or not: values defined in this
  specification or marked as "proposed" or "ratified" must be accepted
  when used on the elements for which they apply as described in the
  "Effect on..." field, whereas values marked as "discontinued" or
  values not containing a U+003A COLON character but not listed in
  either this specification or on the aforementioned page must be
  reported as invalid. The remaining values must be accepted as valid
  if they are absolute URLs containing US-ASCII characters only and
  rejected otherwise. Conformance checkers may cache this
  information (e.g., for performance reasons or to avoid the use of
  unreliable network connectivity).</p>
      <p class="note" role="note"> Note: Even URL-valued link types are compared
  ASCII-case-insensitively. Validators might choose to warn about
  characters U+0041 (LATIN CAPITAL LETTER A) through
  U+005A (LATIN CAPITAL LETTER Z) (inclusive) in the pre-case-folded
  form of link types that contain a colon. </p>
      <p>When an author uses a new type not defined by either this specification or the Wiki page,
  conformance checkers should offer to add the value to the Wiki, with the details described above,
  with the "proposed" status.</p>
     </div>
     <p>Types defined as extensions in the <a data-link-type="dfn" href="http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions">microformats
  wiki existing-rel-values page</a> with the status "proposed" or "ratified" may be used with the <code><a data-link-type="element-sub" href="links.html#element-attrdef-a-rel" id="ref-for-element-attrdef-a-rel-24">rel</a></code> attribute on <code><a data-link-type="element" href="document-metadata.html#elementdef-link" id="ref-for-elementdef-link-58">link</a></code>, <code><a data-link-type="element" href="textlevel-semantics.html#elementdef-a" id="ref-for-elementdef-a-78">a</a></code>, and <code><a data-link-type="element" href="semantics-embedded-content.html#elementdef-area" id="ref-for-elementdef-area-78">area</a></code> elements in accordance to the "Effect on..." field. <a data-link-type="biblio" href="references.html#biblio-mfrel">[MFREL]</a></p>
    </section></main>
  
<script src="js/fixup.js"></script>
  

<p class="prev_next">← <a href="semantics-embedded-content.html#semantics-embedded-content"><span class="secno">4.7</span> <span class="content">Embedded content</span></a> — <a href="index.html#contents">Table of contents</a> — <a href="tabular-data.html#tabular-data"><span class="secno">4.9</span> <span class="content">Tabular data</span></a> →</p></body></html>
